decompiled_code:
__int64 __fastcall BSIM3noise(int a1, int a2, __int64 a3, __int64 a4, __int64 a5, double *a6)
{
__int64 v9; // rbx
__int64 v10; // r14
int v11; // er12
__int64 v13; // r12
__int64 v14; // rbx
const char *v15; // r14
void **j; // r15
__int64 v17; // rax
__int64 v18; // rdx
__int64 v19; // rcx
void (__fastcall *v20)(__int64, __int64, _QWORD, char *, __int64, _QWORD); // rax
__int64 v21; // rax
void (__fastcall *v22)(__int64, __int64, _QWORD, char *, __int64, _QWORD); // r11
__int64 v23; // rdx
__int64 v24; // rsi
__int64 v25; // rdx
__int64 v26; // rax
__int64 v27; // xmm0_8
__int64 v28; // r15
int v29; // eax
double v30; // xmm0_8
double v31; // xmm0_8
int v32; // eax
double v33; // xmm0_8
double v34; // xmm2_8
double v35; // xmm0_8
__int64 v36; // xmm1_8
__int64 v37; // rax
double v38; // xmm0_8
bool v39; // zf
__int64 v40; // rcx
__int64 v41; // rdx
__int64 i; // rax
double v43; // xmm0_8
double v44; // xmm0_8
double v45; // xmm0_8
double v46; // xmm0_8
double *v47; // r15
__int64 v48; // rax
__int64 v49; // r12
double *v50; // rbx
double *v51; // r13
__int64 v52; // rbp
double v53; // xmm0_8
__int64 v54; // rax
int v55; // edx
void **v56; // r15
const char *k; // rcx
__int64 v58; // rax
void (__fastcall *v59)(__int64, __int64, _QWORD, char *, __int64, _QWORD); // r10
__int64 v60; // rdx
__int64 v61; // rdx
__int64 v62; // rax
double v63; // xmm5_8
double v64; // xmm0_8
double v65; // xmm3_8
double v66; // xmm2_8
double v67; // xmm0_8
double v68; // xmm0_8
double v69; // xmm0_8
__int64 v70; // [rsp+0h] [rbp-118h]
double v72; // [rsp+18h] [rbp-100h]
double v73; // [rsp+20h] [rbp-F8h]
double *v74; // [rsp+20h] [rbp-F8h]
double v75; // [rsp+20h] [rbp-F8h]
double v76; // [rsp+20h] [rbp-F8h]
double v77; // [rsp+30h] [rbp-E8h]
double v78; // [rsp+30h] [rbp-E8h]
double v79; // [rsp+30h] [rbp-E8h]
double v80; // [rsp+38h] [rbp-E0h]
double v81; // [rsp+40h] [rbp-D8h] BYREF
double v82; // [rsp+48h] [rbp-D0h] BYREF
double v83; // [rsp+50h] [rbp-C8h] BYREF
double v84; // [rsp+58h] [rbp-C0h] BYREF
double v85; // [rsp+60h] [rbp-B8h]
__int64 v86; // [rsp+70h] [rbp-A8h] BYREF
__int64 v87; // [rsp+78h] [rbp-A0h] BYREF
__int64 v88; // [rsp+80h] [rbp-98h] BYREF
double v89; // [rsp+88h] [rbp-90h]
double v90; // [rsp+90h] [rbp-88h]
char s[120]; // [rsp+A0h] [rbp-78h] BYREF

v70 = a3;
if ( !a3 )
return 0LL;
while ( 1 )
{
v9 = *(_QWORD *)(v70 + 16);
if ( v9 )
break;
LABEL_9:
v70 = *(_QWORD *)(v70 + 8);
if ( !v70 )
return 0LL;
}
v10 = a5;
v11 = a2;
while ( 1 )
{
if ( v11 == 2 )
{
if ( a1 != 1 )
{
if ( a1 == 2 && *(_DWORD *)(*(_QWORD *)(a4 + 984) + 104LL) )
{
v24 = *(int *)(v10 + 80);
v25 = *(_QWORD *)(v10 + 96) + 8 * v24;
v26 = v9 + 880;
do
{
v27 = *(_QWORD *)(v26 - 40);
v26 += 8LL;
v25 += 16LL;
*(_QWORD *)(v25 - 16) = v27;
*(_QWORD *)(v25 - 8) = *(_QWORD *)(v26 - 8);
}
while ( v26 != v9 + 920 );
*(_DWORD *)(v10 + 80) = v24 + 10;
}
goto LABEL_7;
}
v28 = *(_QWORD *)(v9 + 528);
NevalSrc(&v81, &v86, a4, 2LL, *(unsigned int *)(v9 + 40), *(unsigned int *)(v9 + 24), *(double *)(v9 + 192));
NevalSrc(&v82, &v87, a4, 2LL, *(unsigned int *)(v9 + 44), *(unsigned int *)(v9 + 32), *(double *)(v9 + 184));
v29 = *(_DWORD *)(v70 + 44);
if ( v29 != 3 )
{
if ( v29 > 3 )
{
if ( v29 == 4 )
goto LABEL_29;
goto LABEL_34;
}
if ( v29 != 1 )
{
if ( v29 == 2 )
{
LABEL_29:
v30 = *(double *)(v9 + 240) / (*(double *)(v28 + 736) * *(double *)(v28 + 736));
if ( v30 < 0.0 )
*(_QWORD *)&v30 ^= LC13;
v31 = v30 * *(double *)(v9 + 56);
LABEL_32:
NevalSrc(&v83, &v88, a4, 2LL, *(unsigned int *)(v9 + 40), *(unsigned int *)(v9 + 44), v31);
}
LABEL_34:
NevalSrc(&v84, 0LL, a4, 3LL, *(unsigned int *)(v9 + 40), *(unsigned int *)(v9 + 44), 0.0);
v32 = *(_DWORD *)(v70 + 44);
if ( v32 > 3 )
{
if ( v32 != 4 )
{
LABEL_37:
v33 = v84;
v34 = *(double *)&LC0;
LABEL_38:
v89 = log(fmax(v33, v34));
v85 = v81 + v82 + v83 + v84;
v35 = log(fmax(v85, v34));
v90 = v35;
*a6 = *a6 + v85;
if ( *(double *)(v10 + 16) == 0.0 )
{
v36 = v86;
v37 = *(_QWORD *)(a4 + 984);
*(double *)(v9 + 832) = v35;
v38 = *(double *)v10;
*(_QWORD *)(v9 + 800) = v36;
v39 = v38 == *(double *)(v37 + 48);
*(_QWORD *)(v9 + 808) = v87;
*(_QWORD *)(v9 + 816) = v88;
*(double *)(v9 + 824) = v89;
if ( v39 )
{
*(_OWORD *)(v9 + 840) = 0LL;
*(_OWORD *)(v9 + 856) = 0LL;
*(_OWORD *)(v9 + 872) = 0LL;
*(_OWORD *)(v9 + 888) = 0LL;
*(_OWORD *)(v9 + 904) = 0LL;
}
}
else
{
v47 = (double *)(v9 + 800);
v74 = (double *)(v9 + 832);
v48 = v9;
v49 = a4;
v50 = (double *)&v86;
v51 = &v81;
v52 = v48;
do
{
v72 = Nintegrate(v10, *v51, *v50, *v47);
v53 = Nintegrate(
v10,
*v51 * *(double *)(v10 + 40),
*(double *)(v10 + 48) + *v50,
*v47 + *(double *)(v10 + 48));
v54 = *(_QWORD *)(v49 + 984);
*v47 = *v50;
v55 = *(_DWORD *)(v54 + 104);
*(double *)(v10 + 24) = *(double *)(v10 + 24) + v72;
*(double *)(v10 + 32) = *(double *)(v10 + 32) + v53;
if ( v55 )
{
v47[5] = v47[5] + v72;
*(double *)(v52 + 872) = v72 + *(double *)(v52 + 872);
v47[10] = v47[10] + v53;
*(double *)(v52 + 912) = v53 + *(double *)(v52 + 912);
}
++v47;
++v50;
++v51;
}
while ( v74 != v47 );
a4 = v49;
v9 = v52;
v11 = 2;
}
if ( *(_DWORD *)(v10 + 88) )
{
v40 = *(int *)(v10 + 80);
v41 = *(_QWORD *)(v10 + 96) + 8 * v40;
for ( i = 0LL; i != 40; i += 8LL )
*(double *)(v41 + i) = *(double *)((char *)&v81 + i);
*(_DWORD *)(v10 + 80) = v40 + 5;
}
goto LABEL_7;
}
}
else
{
if ( v32 > 1 )
{
v61 = *(_QWORD *)(a4 + 264);
v62 = *(int *)(v9 + 792) + 2LL;
v63 = *(double *)(v61 + 8 * v62 + 8);
v64 = *(double *)(v61 + 8 * v62);
if ( v63 < 0.0 )
{
v64 = v64 - v63;
*(_QWORD *)&v63 ^= LC13;
}
v65 = *(double *)(a4 + 400);
v66 = *(double *)v10;
if ( v64 < *(double *)(v9 + 72) + 0.1 )
{
v80 = v63;
v75 = *(double *)(*(_QWORD *)(v9 + 528) + 744LL) * *(double *)(*(_QWORD *)(v9 + 528) + 736LL);
v79 = v65 * (0.00008619999999999999 * *(double *)(v70 + 3256));
v76 = v79
/ (pow(v66, *(double *)(v70 + 3288))
* v75
* 4.0e36)
* *(double *)(v9 + 248)
* *(double *)(v9 + 248);
v69 = StrongInversionNoiseEval(
(double *)v70,
v9,
*(double *)(v9 + 72) + 0.1,
v80,
*(double *)v10,
*(double *)(a4 + 400));
if ( v76 + v69 <= 0.0 )
{
v33 = 0.0 * v84;
v34 = *(double *)&LC0;
v84 = 0.0 * v84;
}
else
{
v34 = *(double *)&LC0;
v33 = v69 * v76 / (v76 + v69) * v84;
v84 = v33;
}
}
else
{
v67 = StrongInversionNoiseEval((double *)v70, v9, v64, v63, v66, v65);
v33 = v67 * v84;
v34 = *(double *)&LC0;
v84 = v33;
}
goto LABEL_38;
}
if ( v32 != 1 )
goto LABEL_37;
}
v43 = *(double *)(v9 + 248);
v73 = *(double *)(v70 + 3304);
v77 = *(double *)(v70 + 3296);
if ( v43 < 0.0 )
{
if ( v43 < -1.0e-38 )
{
*(_QWORD *)&v44 = *(_QWORD *)&v43 ^ LC13;
v34 = *(double *)&LC0;
}
else
{
v34 = *(double *)&LC0;
v44 = *(double *)&LC0;
}
}
else
{
v34 = *(double *)&LC0;
v44 = fmax(v43, 1.0e-38);
}
v45 = log(v44);
v78 = exp(v45 * v77);
v46 = pow(*(double *)v10, *(double *)(v70 + 3288));
v33 = v73 * v78 / (v46 * *(double *)(v28 + 736) * *(double *)(v28 + 736) * *(double *)(v70 + 3160)) * v84;
v84 = v33;
goto LABEL_38;
}
}
v68 = *(double *)(v9 + 280) + *(double *)(v9 + 288) + *(double *)(v9 + 296);
if ( v68 < 0.0 )
*(_QWORD *)&v68 ^= LC13;
v31 = v68 * 0.6666666666666666;
goto LABEL_32;
}
if ( v11 == 3 )
return 0LL;
if ( v11 != 1 || !*(_DWORD *)(*(_QWORD *)(a4 + 984) + 104LL) )
goto LABEL_7;
if ( a1 == 1 )
break;
if ( a1 == 2 )
{
v13 = v9;
v14 = v10;
v15 = (const char *)&LC9;
for ( j = &BSIM3nNames_0; ; v15 = (const char *)*j )
{
sprintf(s, "onoise_total.%s%s", *(const char **)(v13 + 16), v15);
v17 = trealloc(*(_QWORD *)(v14 + 112), 8LL * (*(_DWORD *)(v14 + 84) + 1));
*(_QWORD *)(v14 + 112) = v17;
v18 = v17;
if ( !v17 )
break;
v19 = *(int *)(v14 + 84);
v20 = (void (__fastcall *)(__int64, __int64, _QWORD, char *, __int64, _QWORD))*SPfrontEnd;
*(_DWORD *)(v14 + 84) = v19 + 1;
v20(a4, v18 + 8 * v19, 0LL, s, 32LL, 0LL);
sprintf(s, "inoise_total.%s%s", *(const char **)(v13 + 16), v15);
v21 = trealloc(*(_QWORD *)(v14 + 112), 8LL * (*(_DWORD *)(v14 + 84) + 1));
*(_QWORD *)(v14 + 112) = v21;
if ( !v21 )
break;
++j;
v22 = (void (__fastcall *)(__int64, __int64, _QWORD, char *, __int64, _QWORD))*SPfrontEnd;
v23 = *(int *)(v14 + 84);
*(_DWORD *)(v14 + 84) = v23 + 1;
v22(a4, v21 + 8 * v23, 0LL, s, 32LL, 0LL);
if ( j == &off_D60 + 1 )
{
v10 = v14;
v9 = v13;
v11 = 1;
goto LABEL_7;
}
}
return 8LL;
}
LABEL_7:
v9 = *(_QWORD *)(v9 + 8);
if ( !v9 )
{
a2 = v11;
a5 = v10;
goto LABEL_9;
}
}
v56 = &BSIM3nNames_0;
for ( k = (const char *)&LC9; ; k = (const char *)*v56 )
{
sprintf(s, "onoise.%s%s", *(const char **)(v9 + 16), k);
v58 = trealloc(*(_QWORD *)(v10 + 112), 8LL * (*(_DWORD *)(v10 + 84) + 1));
*(_QWORD *)(v10 + 112) = v58;
if ( !v58 )
break;
++v56;
v59 = (void (__fastcall *)(__int64, __int64, _QWORD, char *, __int64, _QWORD))*SPfrontEnd;
v60 = *(int *)(v10 + 84);
*(_DWORD *)(v10 + 84) = v60 + 1;
v59(a4, v58 + 8 * v60, 0LL, s, 32LL, 0LL);
if ( v56 == &off_D60 + 1 )
goto LABEL_7;
}
return 8LL;
}

canonical_decompiled_code:
__int64 __fastcall func1(int a1, int a2, __int64 a3, __int64 a4, __int64 a5, double *a6)
{
__int64 v9; // rbx
__int64 v10; // r14
int v11; // er12
__int64 v13; // r12
__int64 v14; // rbx
const char *v15; // r14
void **j; // r15
__int64 v17; // rax
__int64 v18; // rdx
__int64 v19; // rcx
void (__fastcall *v20)(__int64, __int64, _QWORD, char *, __int64, _QWORD); // rax
__int64 v21; // rax
void (__fastcall *v22)(__int64, __int64, _QWORD, char *, __int64, _QWORD); // r11
__int64 v23; // rdx
__int64 v24; // rsi
__int64 v25; // rdx
__int64 v26; // rax
__int64 v27; // xmm0_8
__int64 v28; // r15
int v29; // eax
double v30; // xmm0_8
double v31; // xmm0_8
int v32; // eax
double v33; // xmm0_8
double v34; // xmm2_8
double v35; // xmm0_8
__int64 v36; // xmm1_8
__int64 v37; // rax
double v38; // xmm0_8
bool v39; // zf
__int64 v40; // rcx
__int64 v41; // rdx
__int64 i; // rax
double v43; // xmm0_8
double v44; // xmm0_8
double v45; // xmm0_8
double v46; // xmm0_8
double *v47; // r15
__int64 v48; // rax
__int64 v49; // r12
double *v50; // rbx
double *v51; // r13
__int64 v52; // rbp
double v53; // xmm0_8
__int64 v54; // rax
int v55; // edx
void **v56; // r15
const char *k; // rcx
__int64 v58; // rax
void (__fastcall *v59)(__int64, __int64, _QWORD, char *, __int64, _QWORD); // r10
__int64 v60; // rdx
__int64 v61; // rdx
__int64 v62; // rax
double v63; // xmm5_8
double v64; // xmm0_8
double v65; // xmm3_8
double v66; // xmm2_8
double v67; // xmm0_8
double v68; // xmm0_8
double v69; // xmm0_8
__int64 v70; // [rsp+0h] [rbp-118h]
double v72; // [rsp+18h] [rbp-100h]
double v73; // [rsp+20h] [rbp-F8h]
double *v74; // [rsp+20h] [rbp-F8h]
double v75; // [rsp+20h] [rbp-F8h]
double v76; // [rsp+20h] [rbp-F8h]
double v77; // [rsp+30h] [rbp-E8h]
double v78; // [rsp+30h] [rbp-E8h]
double v79; // [rsp+30h] [rbp-E8h]
double v80; // [rsp+38h] [rbp-E0h]
double v81; // [rsp+40h] [rbp-D8h] BYREF
double v82; // [rsp+48h] [rbp-D0h] BYREF
double v83; // [rsp+50h] [rbp-C8h] BYREF
double v84; // [rsp+58h] [rbp-C0h] BYREF
double v85; // [rsp+60h] [rbp-B8h]
__int64 v86; // [rsp+70h] [rbp-A8h] BYREF
__int64 v87; // [rsp+78h] [rbp-A0h] BYREF
__int64 v88; // [rsp+80h] [rbp-98h] BYREF
double v89; // [rsp+88h] [rbp-90h]
double v90; // [rsp+90h] [rbp-88h]
char s[120]; // [rsp+A0h] [rbp-78h] BYREF

v70 = a3;
if ( !a3 )
return 0LL;
while ( 1 )
{
v9 = *(_QWORD *)(v70 + 16);
if ( v9 )
break;
LABEL_9:
v70 = *(_QWORD *)(v70 + 8);
if ( !v70 )
return 0LL;
}
v10 = a5;
v11 = a2;
while ( 1 )
{
if ( v11 == 2 )
{
if ( a1 != 1 )
{
if ( a1 == 2 && *(_DWORD *)(*(_QWORD *)(a4 + 984) + 104LL) )
{
v24 = *(int *)(v10 + 80);
v25 = *(_QWORD *)(v10 + 96) + 8 * v24;
v26 = v9 + 880;
do
{
v27 = *(_QWORD *)(v26 - 40);
v26 += 8LL;
v25 += 16LL;
*(_QWORD *)(v25 - 16) = v27;
*(_QWORD *)(v25 - 8) = *(_QWORD *)(v26 - 8);
}
while ( v26 != v9 + 920 );
*(_DWORD *)(v10 + 80) = v24 + 10;
}
goto LABEL_7;
}
v28 = *(_QWORD *)(v9 + 528);
NevalSrc(&v81, &v86, a4, 2LL, *(unsigned int *)(v9 + 40), *(unsigned int *)(v9 + 24), *(double *)(v9 + 192));
NevalSrc(&v82, &v87, a4, 2LL, *(unsigned int *)(v9 + 44), *(unsigned int *)(v9 + 32), *(double *)(v9 + 184));
v29 = *(_DWORD *)(v70 + 44);
if ( v29 != 3 )
{
if ( v29 > 3 )
{
if ( v29 == 4 )
goto LABEL_29;
goto LABEL_34;
}
if ( v29 != 1 )
{
if ( v29 == 2 )
{
LABEL_29:
v30 = *(double *)(v9 + 240) / (*(double *)(v28 + 736) * *(double *)(v28 + 736));
if ( v30 < 0.0 )
*(_QWORD *)&v30 ^= LC13;
v31 = v30 * *(double *)(v9 + 56);
LABEL_32:
NevalSrc(&v83, &v88, a4, 2LL, *(unsigned int *)(v9 + 40), *(unsigned int *)(v9 + 44), v31);
}
LABEL_34:
NevalSrc(&v84, 0LL, a4, 3LL, *(unsigned int *)(v9 + 40), *(unsigned int *)(v9 + 44), 0.0);
v32 = *(_DWORD *)(v70 + 44);
if ( v32 > 3 )
{
if ( v32 != 4 )
{
LABEL_37:
v33 = v84;
v34 = *(double *)&LC0;
LABEL_38:
v89 = log(fmax(v33, v34));
v85 = v81 + v82 + v83 + v84;
v35 = log(fmax(v85, v34));
v90 = v35;
*a6 = *a6 + v85;
if ( *(double *)(v10 + 16) == 0.0 )
{
v36 = v86;
v37 = *(_QWORD *)(a4 + 984);
*(double *)(v9 + 832) = v35;
v38 = *(double *)v10;
*(_QWORD *)(v9 + 800) = v36;
v39 = v38 == *(double *)(v37 + 48);
*(_QWORD *)(v9 + 808) = v87;
*(_QWORD *)(v9 + 816) = v88;
*(double *)(v9 + 824) = v89;
if ( v39 )
{
*(_OWORD *)(v9 + 840) = 0LL;
*(_OWORD *)(v9 + 856) = 0LL;
*(_OWORD *)(v9 + 872) = 0LL;
*(_OWORD *)(v9 + 888) = 0LL;
*(_OWORD *)(v9 + 904) = 0LL;
}
}
else
{
v47 = (double *)(v9 + 800);
v74 = (double *)(v9 + 832);
v48 = v9;
v49 = a4;
v50 = (double *)&v86;
v51 = &v81;
v52 = v48;
do
{
v72 = Nintegrate(v10, *v51, *v50, *v47);
v53 = Nintegrate(
v10,
*v51 * *(double *)(v10 + 40),
*(double *)(v10 + 48) + *v50,
*v47 + *(double *)(v10 + 48));
v54 = *(_QWORD *)(v49 + 984);
*v47 = *v50;
v55 = *(_DWORD *)(v54 + 104);
*(double *)(v10 + 24) = *(double *)(v10 + 24) + v72;
*(double *)(v10 + 32) = *(double *)(v10 + 32) + v53;
if ( v55 )
{
v47[5] = v47[5] + v72;
*(double *)(v52 + 872) = v72 + *(double *)(v52 + 872);
v47[10] = v47[10] + v53;
*(double *)(v52 + 912) = v53 + *(double *)(v52 + 912);
}
++v47;
++v50;
++v51;
}
while ( v74 != v47 );
a4 = v49;
v9 = v52;
v11 = 2;
}
if ( *(_DWORD *)(v10 + 88) )
{
v40 = *(int *)(v10 + 80);
v41 = *(_QWORD *)(v10 + 96) + 8 * v40;
for ( i = 0LL; i != 40; i += 8LL )
*(double *)(v41 + i) = *(double *)((char *)&v81 + i);
*(_DWORD *)(v10 + 80) = v40 + 5;
}
goto LABEL_7;
}
}
else
{
if ( v32 > 1 )
{
v61 = *(_QWORD *)(a4 + 264);
v62 = *(int *)(v9 + 792) + 2LL;
v63 = *(double *)(v61 + 8 * v62 + 8);
v64 = *(double *)(v61 + 8 * v62);
if ( v63 < 0.0 )
{
v64 = v64 - v63;
*(_QWORD *)&v63 ^= LC13;
}
v65 = *(double *)(a4 + 400);
v66 = *(double *)v10;
if ( v64 < *(double *)(v9 + 72) + 0.1 )
{
v80 = v63;
v75 = *(double *)(*(_QWORD *)(v9 + 528) + 744LL) * *(double *)(*(_QWORD *)(v9 + 528) + 736LL);
v79 = v65 * (0.00008619999999999999 * *(double *)(v70 + 3256));
v76 = v79
/ (pow(v66, *(double *)(v70 + 3288))
* v75
* 4.0e36)
* *(double *)(v9 + 248)
* *(double *)(v9 + 248);
v69 = func0(
(double *)v70,
v9,
*(double *)(v9 + 72) + 0.1,
v80,
*(double *)v10,
*(double *)(a4 + 400));
if ( v76 + v69 <= 0.0 )
{
v33 = 0.0 * v84;
v34 = *(double *)&LC0;
v84 = 0.0 * v84;
}
else
{
v34 = *(double *)&LC0;
v33 = v69 * v76 / (v76 + v69) * v84;
v84 = v33;
}
}
else
{
v67 = func0((double *)v70, v9, v64, v63, v66, v65);
v33 = v67 * v84;
v34 = *(double *)&LC0;
v84 = v33;
}
goto LABEL_38;
}
if ( v32 != 1 )
goto LABEL_37;
}
v43 = *(double *)(v9 + 248);
v73 = *(double *)(v70 + 3304);
v77 = *(double *)(v70 + 3296);
if ( v43 < 0.0 )
{
if ( v43 < -1.0e-38 )
{
*(_QWORD *)&v44 = *(_QWORD *)&v43 ^ LC13;
v34 = *(double *)&LC0;
}
else
{
v34 = *(double *)&LC0;
v44 = *(double *)&LC0;
}
}
else
{
v34 = *(double *)&LC0;
v44 = fmax(v43, 1.0e-38);
}
v45 = log(v44);
v78 = exp(v45 * v77);
v46 = pow(*(double *)v10, *(double *)(v70 + 3288));
v33 = v73 * v78 / (v46 * *(double *)(v28 + 736) * *(double *)(v28 + 736) * *(double *)(v70 + 3160)) * v84;
v84 = v33;
goto LABEL_38;
}
}
v68 = *(double *)(v9 + 280) + *(double *)(v9 + 288) + *(double *)(v9 + 296);
if ( v68 < 0.0 )
*(_QWORD *)&v68 ^= LC13;
v31 = v68 * 0.6666666666666666;
goto LABEL_32;
}
if ( v11 == 3 )
return 0LL;
if ( v11 != 1 || !*(_DWORD *)(*(_QWORD *)(a4 + 984) + 104LL) )
goto LABEL_7;
if ( a1 == 1 )
break;
if ( a1 == 2 )
{
v13 = v9;
v14 = v10;
v15 = (const char *)&LC9;
for ( j = &BSIM3nNames_0; ; v15 = (const char *)*j )
{
sprintf(s, "onoise_total.%s%s", *(const char **)(v13 + 16), v15);
v17 = trealloc(*(_QWORD *)(v14 + 112), 8LL * (*(_DWORD *)(v14 + 84) + 1));
*(_QWORD *)(v14 + 112) = v17;
v18 = v17;
if ( !v17 )
break;
v19 = *(int *)(v14 + 84);
v20 = (void (__fastcall *)(__int64, __int64, _QWORD, char *, __int64, _QWORD))*SPfrontEnd;
*(_DWORD *)(v14 + 84) = v19 + 1;
v20(a4, v18 + 8 * v19, 0LL, s, 32LL, 0LL);
sprintf(s, "inoise_total.%s%s", *(const char **)(v13 + 16), v15);
v21 = trealloc(*(_QWORD *)(v14 + 112), 8LL * (*(_DWORD *)(v14 + 84) + 1));
*(_QWORD *)(v14 + 112) = v21;
if ( !v21 )
break;
++j;
v22 = (void (__fastcall *)(__int64, __int64, _QWORD, char *, __int64, _QWORD))*SPfrontEnd;
v23 = *(int *)(v14 + 84);
*(_DWORD *)(v14 + 84) = v23 + 1;
v22(a4, v21 + 8 * v23, 0LL, s, 32LL, 0LL);
if ( j == &off_D60 + 1 )
{
v10 = v14;
v9 = v13;
v11 = 1;
goto LABEL_7;
}
}
return 8LL;
}
LABEL_7:
v9 = *(_QWORD *)(v9 + 8);
if ( !v9 )
{
a2 = v11;
a5 = v10;
goto LABEL_9;
}
}
v56 = &BSIM3nNames_0;
for ( k = (const char *)&LC9; ; k = (const char *)*v56 )
{
sprintf(s, "onoise.%s%s", *(const char **)(v9 + 16), k);
v58 = trealloc(*(_QWORD *)(v10 + 112), 8LL * (*(_DWORD *)(v10 + 84) + 1));
*(_QWORD *)(v10 + 112) = v58;
if ( !v58 )
break;
++v56;
v59 = (void (__fastcall *)(__int64, __int64, _QWORD, char *, __int64, _QWORD))*SPfrontEnd;
v60 = *(int *)(v10 + 84);
*(_DWORD *)(v10 + 84) = v60 + 1;
v59(a4, v58 + 8 * v60, 0LL, s, 32LL, 0LL);
if ( v56 == &off_D60 + 1 )
goto LABEL_7;
}
return 8LL;
}

original_code:
int
BSIM3noise (int mode, int operation, GENmodel *inModel, CKTcircuit *ckt,
     Ndata *data, double *OnDens)
{
BSIM3model *model = (BSIM3model *)inModel;
BSIM3instance *here;
struct bsim3SizeDependParam *pParam;
char name[64];
double tempOnoise;
double tempInoise;
double noizDens[5];
double lnNdens[5];
double vgs, vds, Slimit;
double T1, T10, T11;
double Ssi, Swi;
double m;
int i;
    static char *BSIM3nNames[5] =
    {
 ".rd",
 ".rs",
 ".id",
 ".1overf",
 ""
    };
    for (; model != ((void *)0); model = model->BSIM3nextModel)
    { for (here = model->BSIM3instances; here != ((void *)0);
       here = here->BSIM3nextInstance)
  { pParam = here->pParam;
       switch (operation)
       { case 1:
        if (((NOISEAN*)ckt->CKTcurJob)->NStpsSm != 0)
        { switch (mode)
     { case 1:
             for (i = 0; i < 5; i++)
      { (void) sprintf(name, "onoise.%s%s",
                   here->BSIM3name,
            BSIM3nNames[i]);
                                       data->namelist = (IFuid *) trealloc(
          (char *) data->namelist,
          (data->numPlots + 1)
          * sizeof(IFuid));
                                       if (!data->namelist)
        return(8);
                         (*(SPfrontEnd->IFnewUid)) (ckt,
                     &(data->namelist[data->numPlots++]),
                     (IFuid) ((void *)0), name, 0x20,
       (void **) ((void *)0));
             }
             break;
               case 2:
             for (i = 0; i < 5; i++)
      { (void) sprintf(name, "onoise_total.%s%s",
            here->BSIM3name,
            BSIM3nNames[i]);
                                       data->namelist = (IFuid *) trealloc(
          (char *) data->namelist,
          (data->numPlots + 1)
          * sizeof(IFuid));
                                       if (!data->namelist)
        return(8);
                         (*(SPfrontEnd->IFnewUid)) (ckt,
                     &(data->namelist[data->numPlots++]),
                     (IFuid) ((void *)0), name, 0x20,
       (void **) ((void *)0));
                  (void) sprintf(name, "inoise_total.%s%s",
            here->BSIM3name,
            BSIM3nNames[i]);
                                       data->namelist = (IFuid *) trealloc(
          (char *) data->namelist,
          (data->numPlots + 1)
          * sizeof(IFuid));
                                       if (!data->namelist)
        return(8);
                         (*(SPfrontEnd->IFnewUid)) (ckt,
                     &(data->namelist[data->numPlots++]),
                     (IFuid) ((void *)0), name, 0x20,
       (void **)((void *)0));
             }
             break;
            }
        }
        break;
          case 2:
        m = here->BSIM3m;
        switch (mode)
        { case 1:
                NevalSrc(&noizDens[0],
           &lnNdens[0], ckt, 2,
           here->BSIM3dNodePrime, here->BSIM3dNode,
           here->BSIM3drainConductance * m);
                NevalSrc(&noizDens[1],
           &lnNdens[1], ckt, 2,
           here->BSIM3sNodePrime, here->BSIM3sNode,
           here->BSIM3sourceConductance * m);
                              switch( model->BSIM3noiMod )
         { case 1:
            case 3:
                 NevalSrc(&noizDens[2],
                   &lnNdens[2], ckt,
            2, here->BSIM3dNodePrime,
                   here->BSIM3sNodePrime,
                                               (2.0 / 3.0 * fabs(here->BSIM3gm
                   + here->BSIM3gds
            + here->BSIM3gmbs)) * m);
          break;
            case 2:
            case 4:
                if (model->BSIM3intVersion == 324)
          {
                          NevalSrc(&noizDens[2],
                   &lnNdens[2], ckt,
            2, here->BSIM3dNodePrime,
                                               here->BSIM3sNodePrime,
            (m * here->BSIM3ueff
            * fabs(here->BSIM3qinv)
            / (pParam->BSIM3leff * pParam->BSIM3leff
      + here->BSIM3ueff * fabs(here->BSIM3qinv)
      * here->BSIM3rds)));
          }
                else
          {
                          NevalSrc(&noizDens[2],
                   &lnNdens[2], ckt,
            2, here->BSIM3dNodePrime,
                                               here->BSIM3sNodePrime,
            (m * here->BSIM3ueff
            * fabs(here->BSIM3qinv
            / (pParam->BSIM3leff
            * pParam->BSIM3leff))));
          }
          break;
         }
                NevalSrc(&noizDens[3], (double*) ((void *)0),
           ckt, 3, here->BSIM3dNodePrime,
           here->BSIM3sNodePrime, (double) 0.0);
                              switch( model->BSIM3noiMod )
         { case 1:
            case 4:
                 noizDens[3] *= m * model->BSIM3kf
         * exp(model->BSIM3af
         * log(((fabs(here->BSIM3cd)) > (1E-38) ? (fabs(here->BSIM3cd)) : (1E-38))))
         / (pow(data->freq, model->BSIM3ef)
         * pParam->BSIM3leff
                * pParam->BSIM3leff
         * model->BSIM3cox);
          break;
            case 2:
            case 3:
                        vgs = *(ckt->CKTstates[0] + here->BSIM3states+ 2);
                vds = *(ckt->CKTstates[0] + here->BSIM3states+ 3);
                 if (vds < 0.0)
                 { vds = -vds;
                     vgs = vgs + vds;
                 }
                if (model->BSIM3intVersion == 324)
          {
                   Ssi = StrongInversionNoiseEvalNew(vds, model,
                   here, data->freq, ckt->CKTtemp);
            T10 = model->BSIM3oxideTrapDensityA
         * 8.62e-5 * ckt->CKTtemp;
                          T11 = pParam->BSIM3weff
         * pParam->BSIM3leff
                * pow(data->freq, model->BSIM3ef)
                * 4.0e36;
                          Swi = T10 / T11 * here->BSIM3cd
                * here->BSIM3cd;
            T1 = Swi + Ssi;
            if (T1 > 0.0)
                                            noizDens[3] *= m * (Ssi * Swi) / T1;
            else
                                            noizDens[3] *= 0.0;
          }
                else
          {
     if (vgs >= here->BSIM3von + 0.1)
       {
         Ssi = StrongInversionNoiseEvalOld(vgs, vds, model,
       here, data->freq, ckt->CKTtemp);
         noizDens[3] *= m * Ssi;
       }
     else
       {
         pParam = here->pParam;
         T10 = model->BSIM3oxideTrapDensityA
        * 8.62e-5 * ckt->CKTtemp;
         T11 = pParam->BSIM3weff
        * pParam-> BSIM3leff
        * pow (data->freq, model->BSIM3ef)
        * 4.0e36;
         Swi = T10 / T11 * here->BSIM3cd * here->BSIM3cd;
         Slimit = StrongInversionNoiseEvalOld(
              here->BSIM3von + 0.1, vds, model,
              here, data->freq, ckt->CKTtemp);
         T1 = Swi + Slimit;
         if (T1 > 0.0)
              noizDens[3] *= m * (Slimit * Swi) / T1;
         else
              noizDens[3] *= 0.0;
       }
     }
     break;
                 }
                lnNdens[3] =
                 log(((noizDens[3]) > (1E-38) ? (noizDens[3]) : (1E-38)));
                noizDens[4] = noizDens[0]
           + noizDens[1]
           + noizDens[2]
           + noizDens[3];
                lnNdens[4] =
         log(((noizDens[4]) > (1E-38) ? (noizDens[4]) : (1E-38)));
                *OnDens += noizDens[4];
                if (data->delFreq == 0.0)
         {
             for (i = 0; i < 5; i++)
      { here->BSIM3nVar[0][i] =
          lnNdens[i];
             }
             if (data->freq ==
          ((NOISEAN*) ckt->CKTcurJob)->NstartFreq)
      { for (i = 0; i < 5; i++)
          { here->BSIM3nVar[1][i] = 0.0;
               here->BSIM3nVar[2][i] = 0.0;
                 }
             }
                }
         else
         {
             for (i = 0; i < 5; i++)
      { if (i != 4)
           { tempOnoise = Nintegrate(noizDens[i],
      lnNdens[i],
                    here->BSIM3nVar[0][i],
      data);
               tempInoise = Nintegrate(noizDens[i]
      * data->GainSqInv, lnNdens[i]
      + data->lnGainInv,
                    here->BSIM3nVar[0][i]
      + data->lnGainInv, data);
               here->BSIM3nVar[0][i] =
      lnNdens[i];
               data->outNoiz += tempOnoise;
               data->inNoise += tempInoise;
               if (((NOISEAN*)
            ckt->CKTcurJob)->NStpsSm != 0)
        { here->BSIM3nVar[1][i]
           += tempOnoise;
                   here->BSIM3nVar[1][4]
           += tempOnoise;
                   here->BSIM3nVar[2][i]
           += tempInoise;
                   here->BSIM3nVar[2][4]
           += tempInoise;
                                           }
                  }
             }
                }
                if (data->prtSummary)
         { for (i = 0; i < 5; i++)
      {
                  data->outpVector[data->outNumber++]
          = noizDens[i];
             }
                }
                break;
           case 2:
                if (((NOISEAN*)ckt->CKTcurJob)->NStpsSm != 0)
         { for (i = 0; i < 5; i++)
      { data->outpVector[data->outNumber++]
          = here->BSIM3nVar[1][i];
                  data->outpVector[data->outNumber++]
          = here->BSIM3nVar[2][i];
             }
                }
                break;
        }
        break;
          case 3:
        return (0);
        break;
       }
  }
    }
    return(0);
}

canonical_original_code:
int BSIM3noise(int mode, int operation, struct sGENmodel *inModel, struct CKTcircuit *ckt, struct Ndata *data, double *OnDens)
{
struct sBSIM3model *model = (BSIM3model *)inModel;
struct sBSIM3instance *here;
struct bsim3SizeDependParam *pParam;
char name[64];
double tempOnoise;
double tempInoise;
double noizDens[5];
double lnNdens[5];
double vgs; double vds; double Slimit;
double T1; double T10; double T11;
double Ssi; double Swi;
double m;
int i;
    static char *BSIM3nNames[5] = {
 ".rd",
 ".rs",
 ".id",
 ".1overf",
 ""
    };
    for (; model != ((void *)0); model = model->BSIM3nextModel)
    { for (here = model->BSIM3instances; here != ((void *)0);
       here = here->BSIM3nextInstance)
  { pParam = here->pParam;
       switch (operation)
       { case 1:
        if (((struct NOISEAN *)ckt->CKTcurJob)->NStpsSm != 0)
        { switch (mode)
     { case 1:
             for (i = 0; i < 5; i++)
      { (void) sprintf(name, "onoise.%s%s",
                   here->BSIM3name,
            BSIM3nNames[i]);
                                       data->namelist = (char **) trealloc(
          (char *) data->namelist,
          (data->numPlots + 1)
          * sizeof(IFuid));
                                       if (!data->namelist)
        return(8);
                         (*(SPfrontEnd->IFnewUid)) (ckt,
                     &(data->namelist[data->numPlots++]),
                     (IFuid) ((void *)0), name, 0x20,
       (void **) ((void *)0));
             }
             break;
               case 2:
             for (i = 0; i < 5; i++)
      { (void) sprintf(name, "onoise_total.%s%s",
            here->BSIM3name,
            BSIM3nNames[i]);
                                       data->namelist = (char **) trealloc(
          (char *) data->namelist,
          (data->numPlots + 1)
          * sizeof(IFuid));
                                       if (!data->namelist)
        return(8);
                         (*(SPfrontEnd->IFnewUid)) (ckt,
                     &(data->namelist[data->numPlots++]),
                     (IFuid) ((void *)0), name, 0x20,
       (void **) ((void *)0));
                  (void) sprintf(name, "inoise_total.%s%s",
            here->BSIM3name,
            BSIM3nNames[i]);
                                       data->namelist = (char **) trealloc(
          (char *) data->namelist,
          (data->numPlots + 1)
          * sizeof(IFuid));
                                       if (!data->namelist)
        return(8);
                         (*(SPfrontEnd->IFnewUid)) (ckt,
                     &(data->namelist[data->numPlots++]),
                     (IFuid) ((void *)0), name, 0x20,
       (void **)((void *)0));
             }
             break;
            }
        }
        break;
          case 2:
        m = here->BSIM3m;
        switch (mode)
        { case 1:
                NevalSrc(&noizDens[0],
           &lnNdens[0], ckt, 2,
           here->BSIM3dNodePrime, here->BSIM3dNode,
           here->BSIM3drainConductance * m);
                NevalSrc(&noizDens[1],
           &lnNdens[1], ckt, 2,
           here->BSIM3sNodePrime, here->BSIM3sNode,
           here->BSIM3sourceConductance * m);
                              switch( model->BSIM3noiMod )
         { case 1:
            case 3:
                 NevalSrc(&noizDens[2],
                   &lnNdens[2], ckt,
            2, here->BSIM3dNodePrime,
                   here->BSIM3sNodePrime,
                                               (2.0 / 3.0 * fabs(here->BSIM3gm
                   + here->BSIM3gds
            + here->BSIM3gmbs)) * m);
          break;
            case 2:
            case 4:
                if (model->BSIM3intVersion == 324)
          {
                          NevalSrc(&noizDens[2],
                   &lnNdens[2], ckt,
            2, here->BSIM3dNodePrime,
                                               here->BSIM3sNodePrime,
            (m * here->BSIM3ueff
            * fabs(here->BSIM3qinv)
            / (pParam->BSIM3leff * pParam->BSIM3leff
      + here->BSIM3ueff * fabs(here->BSIM3qinv)
      * here->BSIM3rds)));
          }
                else
          {
                          NevalSrc(&noizDens[2],
                   &lnNdens[2], ckt,
            2, here->BSIM3dNodePrime,
                                               here->BSIM3sNodePrime,
            (m * here->BSIM3ueff
            * fabs(here->BSIM3qinv
            / (pParam->BSIM3leff
            * pParam->BSIM3leff))));
          }
          break;
         }
                NevalSrc(&noizDens[3], (double *) ((void *)0),
           ckt, 3, here->BSIM3dNodePrime,
           here->BSIM3sNodePrime, (double) 0.0);
                              switch( model->BSIM3noiMod )
         { case 1:
            case 4:
                 noizDens[3] *= m * model->BSIM3kf
         * exp(model->BSIM3af
         * log(((fabs(here->BSIM3cd)) > (1E-38) ? (fabs(here->BSIM3cd)) : (1E-38))))
         / (pow(data->freq, model->BSIM3ef)
         * pParam->BSIM3leff
                * pParam->BSIM3leff
         * model->BSIM3cox);
          break;
            case 2:
            case 3:
                        vgs = *(ckt->CKTstates[0] + here->BSIM3states+ 2);
                vds = *(ckt->CKTstates[0] + here->BSIM3states+ 3);
                 if (vds < 0.0)
                 { vds = -vds;
                     vgs = vgs + vds;
                 }
                if (model->BSIM3intVersion == 324)
          {
                   Ssi = StrongInversionNoiseEvalNew(vds, model,
                   here, data->freq, ckt->CKTtemp);
            T10 = model->BSIM3oxideTrapDensityA
         * 8.62e-5 * ckt->CKTtemp;
                          T11 = pParam->BSIM3weff
         * pParam->BSIM3leff
                * pow(data->freq, model->BSIM3ef)
                * 4.0e36;
                          Swi = T10 / T11 * here->BSIM3cd
                * here->BSIM3cd;
            T1 = Swi + Ssi;
            if (T1 > 0.0)
                                            noizDens[3] *= m * (Ssi * Swi) / T1;
            else
                                            noizDens[3] *= 0.0;
          }
                else
          {
     if (vgs >= here->BSIM3von + 0.1)
       {
         Ssi = StrongInversionNoiseEvalOld(vgs, vds, model,
       here, data->freq, ckt->CKTtemp);
         noizDens[3] *= m * Ssi;
       }
     else
       {
         pParam = here->pParam;
         T10 = model->BSIM3oxideTrapDensityA
        * 8.62e-5 * ckt->CKTtemp;
         T11 = pParam->BSIM3weff
        * pParam-> BSIM3leff
        * pow (data->freq, model->BSIM3ef)
        * 4.0e36;
         Swi = T10 / T11 * here->BSIM3cd * here->BSIM3cd;
         Slimit = StrongInversionNoiseEvalOld(
              here->BSIM3von + 0.1, vds, model,
              here, data->freq, ckt->CKTtemp);
         T1 = Swi + Slimit;
         if (T1 > 0.0)
              noizDens[3] *= m * (Slimit * Swi) / T1;
         else
              noizDens[3] *= 0.0;
       }
     }
     break;
                 }
                lnNdens[3] =
                 log(((noizDens[3]) > (1E-38) ? (noizDens[3]) : (1E-38)));
                noizDens[4] = noizDens[0]
           + noizDens[1]
           + noizDens[2]
           + noizDens[3];
                lnNdens[4] =
         log(((noizDens[4]) > (1E-38) ? (noizDens[4]) : (1E-38)));
                *OnDens += noizDens[4];
                if (data->delFreq == 0.0)
         {
             for (i = 0; i < 5; i++)
      { here->BSIM3nVar[0][i] =
          lnNdens[i];
             }
             if (data->freq ==
          ((struct NOISEAN *) ckt->CKTcurJob)->NstartFreq)
      { for (i = 0; i < 5; i++)
          { here->BSIM3nVar[1][i] = 0.0;
               here->BSIM3nVar[2][i] = 0.0;
                 }
             }
                }
         else
         {
             for (i = 0; i < 5; i++)
      { if (i != 4)
           { tempOnoise = Nintegrate(noizDens[i],
      lnNdens[i],
                    here->BSIM3nVar[0][i],
      data);
               tempInoise = Nintegrate(noizDens[i]
      * data->GainSqInv, lnNdens[i]
      + data->lnGainInv,
                    here->BSIM3nVar[0][i]
      + data->lnGainInv, data);
               here->BSIM3nVar[0][i] =
      lnNdens[i];
               data->outNoiz += tempOnoise;
               data->inNoise += tempInoise;
               if (((struct NOISEAN *)
            ckt->CKTcurJob)->NStpsSm != 0)
        { here->BSIM3nVar[1][i]
           += tempOnoise;
                   here->BSIM3nVar[1][4]
           += tempOnoise;
                   here->BSIM3nVar[2][i]
           += tempInoise;
                   here->BSIM3nVar[2][4]
           += tempInoise;
                                           }
                  }
             }
                }
                if (data->prtSummary)
         { for (i = 0; i < 5; i++)
      {
                  data->outpVector[data->outNumber++]
          = noizDens[i];
             }
                }
                break;
           case 2:
                if (((struct NOISEAN *)ckt->CKTcurJob)->NStpsSm != 0)
         { for (i = 0; i < 5; i++)
      { data->outpVector[data->outNumber++]
          = here->BSIM3nVar[1][i];
                  data->outpVector[data->outNumber++]
          = here->BSIM3nVar[2][i];
             }
                }
                break;
        }
        break;
          case 3:
        return (0);
        break;
       }
  }
    }
    return(0);
}

variable_types: mode int

variable_types: operation int

variable_types: struct sGENmodel { int GENmodType; struct sGENmodel *GENnextModel; struct sGENinstance { struct sGENmodel *GENmodPtr; struct sGENinstance *GENnextInstance; char *GENname; int GENowner; int GENstate; int GENnode1; int GENnode2; int GENnode3; int GENnode4; int GENnode5; int GENnode6; int GENnode7; } *GENinstances; char *GENmodName; } *

variable_types: struct CKTcircuit { struct sGENmodel **CKThead; struct STATistics { int STATnumIter; int STATtranIter; int STAToldIter; int STATtimePts; int STATaccepted; int STATrejected; double STATtotAnalTime; double STATloadTime; double STATdecompTime; double STATsolveTime; double STATreorderTime; double STATcombineTime; double STATsyncTime; double STATtranTime; double STATtranDecompTime; double STATtranSolveTime; double STATtranLoadTime; double STATtranTruncTime; double STATtranCombTime; double STATtranSyncTime; double STATacTime; double STATacDecompTime; double STATacSolveTime; double STATacLoadTime; double STATacCombTime; double STATacSyncTime; } *CKTstat; double *CKTstates[8]; double CKTtime; double CKTdelta; double CKTdeltaOld[7]; double CKTtemp; double CKTnomTemp; double CKTvt; double CKTag[7]; double CKTagp[7]; int CKTorder; int CKTmaxOrder; int CKTintegrateMethod; void *CKTmatrix; int CKTniState; double *CKTrhs; double *CKTrhsOld; double *CKTrhsSpare; double *CKTirhs; double *CKTirhsOld; double *CKTirhsSpare; double *CKTpred; double *CKTsols[8]; double *CKTrhsOp; double *CKTsenRhs; double *CKTseniRhs; int CKTmaxEqNum; int CKTcurrentAnalysis; struct sCKTnode { char *name; int type; int number; double ic; double nodeset; double *ptr; struct sCKTnode *next; unsigned int icGiven; unsigned int nsGiven; } *CKTnodes; struct sCKTnode *CKTlastNode; int CKTnumStates; long CKTmode; int CKTbypass; int CKTdcMaxIter; int CKTdcTrcvMaxIter; int CKTtranMaxIter; int CKTbreakSize; int CKTbreak; double CKTsaveDelta; double CKTminBreak; double *CKTbreaks; double CKTabstol; double CKTpivotAbsTol; double CKTpivotRelTol; double CKTreltol; double CKTchgtol; double CKTvoltTol; double CKTgmin; double CKTgshunt; double CKTdelmin; double CKTtrtol; double CKTfinalTime; double CKTstep; double CKTmaxStep; double CKTinitTime; double CKTomega; double CKTsrcFact; double CKTdiagGmin; int CKTnumSrcSteps; int CKTnumGminSteps; double CKTgminFactor; int CKTnoncon; double CKTdefaultMosM; double CKTdefaultMosL; double CKTdefaultMosW; double CKTdefaultMosAD; double CKTdefaultMosAS; unsigned int CKThadNodeset; unsigned int CKTfixLimit; unsigned int CKTnoOpIter; unsigned int CKTisSetup; struct sJOB { int JOBtype; struct sJOB *JOBnextJob; char *JOBname; } *CKTcurJob; struct SENstruct { int JOBtype; struct sJOB *JOBnextJob; char *JOBname; int SENnumVal; char **SENdevices; char **SENparmNames; unsigned int SENinitflag; unsigned int SENicflag; unsigned int SENstatus; unsigned int SENacpertflag; int SENmode; int SENparms; double SENpertfac; double **SEN_Sap; double **SEN_RHS; double **SEN_iRHS; int SENsize; void *SEN_Jacmat; double *SEN_parmVal; char **SEN_parmName; } *CKTsenInfo; double *CKTtimePoints; double *CKTdeltaList; int CKTtimeListSize; int CKTtimeIndex; int CKTsizeIncr; unsigned int CKTtryToCompact; unsigned int CKTbadMos3; unsigned int CKTkeepOpInfo; unsigned int CKTcopyNodesets; unsigned int CKTnodeDamping; double CKTabsDv; double CKTrelDv; int CKTtroubleNode; struct sGENinstance *CKTtroubleElt; } *

variable_types: struct Ndata { double freq; double lstFreq; double delFreq; double outNoiz; double inNoise; double GainSqInv; double lnGainInv; double lnFreq; double lnLastFreq; double delLnFreq; int outNumber; int numPlots; unsigned int prtSummary; double *outpVector; void *NplotPtr; char **namelist; } *

variable_types:
OnDens
double *

variable_types: struct sBSIM3model { int BSIM3modType; struct sBSIM3model *BSIM3nextModel; struct sBSIM3instance { struct sBSIM3model *BSIM3modPtr; struct sBSIM3instance *BSIM3nextInstance; char *BSIM3name; int BSIM3owner; int BSIM3states; int BSIM3dNode; int BSIM3gNode; int BSIM3sNode; int BSIM3bNode; int BSIM3dNodePrime; int BSIM3sNodePrime; int BSIM3qNode; double BSIM3ueff; double BSIM3thetavth; double BSIM3von; double BSIM3vdsat; double BSIM3cgdo; double BSIM3cgso; double BSIM3vjsm; double BSIM3IsEvjsm; double BSIM3vjdm; double BSIM3IsEvjdm; double BSIM3l; double BSIM3w; double BSIM3m; double BSIM3drainArea; double BSIM3sourceArea; double BSIM3drainSquares; double BSIM3sourceSquares; double BSIM3drainPerimeter; double BSIM3sourcePerimeter; double BSIM3sourceConductance; double BSIM3drainConductance; double BSIM3icVBS; double BSIM3icVDS; double BSIM3icVGS; int BSIM3off; int BSIM3mode; int BSIM3nqsMod; double BSIM3qinv; double BSIM3cd; double BSIM3cbs; double BSIM3cbd; double BSIM3csub; double BSIM3gm; double BSIM3gds; double BSIM3gmbs; double BSIM3gbd; double BSIM3gbs; double BSIM3gbbs; double BSIM3gbgs; double BSIM3gbds; double BSIM3cggb; double BSIM3cgdb; double BSIM3cgsb; double BSIM3cbgb; double BSIM3cbdb; double BSIM3cbsb; double BSIM3cdgb; double BSIM3cddb; double BSIM3cdsb; double BSIM3capbd; double BSIM3capbs; double BSIM3cqgb; double BSIM3cqdb; double BSIM3cqsb; double BSIM3cqbb; double BSIM3qgate; double BSIM3qbulk; double BSIM3qdrn; double BSIM3gtau; double BSIM3gtg; double BSIM3gtd; double BSIM3gts; double BSIM3gtb; double BSIM3rds; double BSIM3Vgsteff; double BSIM3Vdseff; double BSIM3Abulk; double BSIM3AbovVgst2Vtm; struct bsim3SizeDependParam { double Width; double Length; double BSIM3cdsc; double BSIM3cdscb; double BSIM3cdscd; double BSIM3cit; double BSIM3nfactor; double BSIM3xj; double BSIM3vsat; double BSIM3at; double BSIM3a0; double BSIM3ags; double BSIM3a1; double BSIM3a2; double BSIM3keta; double BSIM3nsub; double BSIM3npeak; double BSIM3ngate; double BSIM3gamma1; double BSIM3gamma2; double BSIM3vbx; double BSIM3vbi; double BSIM3vbm; double BSIM3vbsc; double BSIM3xt; double BSIM3phi; double BSIM3litl; double BSIM3k1; double BSIM3kt1; double BSIM3kt1l; double BSIM3kt2; double BSIM3k2; double BSIM3k3; double BSIM3k3b; double BSIM3w0; double BSIM3nlx; double BSIM3dvt0; double BSIM3dvt1; double BSIM3dvt2; double BSIM3dvt0w; double BSIM3dvt1w; double BSIM3dvt2w; double BSIM3drout; double BSIM3dsub; double BSIM3vth0; double BSIM3ua; double BSIM3ua1; double BSIM3ub; double BSIM3ub1; double BSIM3uc; double BSIM3uc1; double BSIM3u0; double BSIM3ute; double BSIM3voff; double BSIM3vfb; double BSIM3delta; double BSIM3rdsw; double BSIM3rds0; double BSIM3prwg; double BSIM3prwb; double BSIM3prt; double BSIM3eta0; double BSIM3etab; double BSIM3pclm; double BSIM3pdibl1; double BSIM3pdibl2; double BSIM3pdiblb; double BSIM3pscbe1; double BSIM3pscbe2; double BSIM3pvag; double BSIM3wr; double BSIM3dwg; double BSIM3dwb; double BSIM3b0; double BSIM3b1; double BSIM3alpha0; double BSIM3alpha1; double BSIM3beta0; double BSIM3elm; double BSIM3cgsl; double BSIM3cgdl; double BSIM3ckappa; double BSIM3cf; double BSIM3clc; double BSIM3cle; double BSIM3vfbcv; double BSIM3noff; double BSIM3voffcv; double BSIM3acde; double BSIM3moin; double BSIM3dw; double BSIM3dl; double BSIM3leff; double BSIM3weff; double BSIM3dwc; double BSIM3dlc; double BSIM3leffCV; double BSIM3weffCV; double BSIM3abulkCVfactor; double BSIM3cgso; double BSIM3cgdo; double BSIM3cgbo; double BSIM3tconst; double BSIM3u0temp; double BSIM3vsattemp; double BSIM3sqrtPhi; double BSIM3phis3; double BSIM3Xdep0; double BSIM3sqrtXdep0; double BSIM3theta0vb0; double BSIM3thetaRout; double BSIM3cof1; double BSIM3cof2; double BSIM3cof3; double BSIM3cof4; double BSIM3cdep0; double BSIM3vfbzb; double BSIM3ldeb; double BSIM3k1ox; double BSIM3k2ox; struct bsim3SizeDependParam *pNext; } *pParam; unsigned int BSIM3lGiven; unsigned int BSIM3wGiven; unsigned int BSIM3mGiven; unsigned int BSIM3drainAreaGiven; unsigned int BSIM3sourceAreaGiven; unsigned int BSIM3drainSquaresGiven; unsigned int BSIM3sourceSquaresGiven; unsigned int BSIM3drainPerimeterGiven; unsigned int BSIM3sourcePerimeterGiven; unsigned int BSIM3dNodePrimeSet; unsigned int BSIM3sNodePrimeSet; unsigned int BSIM3icVBSGiven; unsigned int BSIM3icVDSGiven; unsigned int BSIM3icVGSGiven; unsigned int BSIM3nqsModGiven; double *BSIM3DdPtr; double *BSIM3GgPtr; double *BSIM3SsPtr; double *BSIM3BbPtr; double *BSIM3DPdpPtr; double *BSIM3SPspPtr; double *BSIM3DdpPtr; double *BSIM3GbPtr; double *BSIM3GdpPtr; double *BSIM3GspPtr; double *BSIM3SspPtr; double *BSIM3BdpPtr; double *BSIM3BspPtr; double *BSIM3DPspPtr; double *BSIM3DPdPtr; double *BSIM3BgPtr; double *BSIM3DPgPtr; double *BSIM3SPgPtr; double *BSIM3SPsPtr; double *BSIM3DPbPtr; double *BSIM3SPbPtr; double *BSIM3SPdpPtr; double *BSIM3QqPtr; double *BSIM3QdpPtr; double *BSIM3QgPtr; double *BSIM3QspPtr; double *BSIM3QbPtr; double *BSIM3DPqPtr; double *BSIM3GqPtr; double *BSIM3SPqPtr; double *BSIM3BqPtr; double BSIM3nVar[3][5]; } *BSIM3instances; char *BSIM3modName; int BSIM3type; int BSIM3mobMod; int BSIM3capMod; int BSIM3acmMod; int BSIM3noiMod; int BSIM3binUnit; int BSIM3paramChk; char *BSIM3version; int BSIM3intVersion; double BSIM3tox; double BSIM3toxm; double BSIM3cdsc; double BSIM3cdscb; double BSIM3cdscd; double BSIM3cit; double BSIM3nfactor; double BSIM3xj; double BSIM3vsat; double BSIM3at; double BSIM3a0; double BSIM3ags; double BSIM3a1; double BSIM3a2; double BSIM3keta; double BSIM3nsub; double BSIM3npeak; double BSIM3ngate; double BSIM3gamma1; double BSIM3gamma2; double BSIM3vbx; double BSIM3vbm; double BSIM3xt; double BSIM3k1; double BSIM3kt1; double BSIM3kt1l; double BSIM3kt2; double BSIM3k2; double BSIM3k3; double BSIM3k3b; double BSIM3w0; double BSIM3nlx; double BSIM3dvt0; double BSIM3dvt1; double BSIM3dvt2; double BSIM3dvt0w; double BSIM3dvt1w; double BSIM3dvt2w; double BSIM3drout; double BSIM3dsub; double BSIM3vth0; double BSIM3ua; double BSIM3ua1; double BSIM3ub; double BSIM3ub1; double BSIM3uc; double BSIM3uc1; double BSIM3u0; double BSIM3ute; double BSIM3voff; double BSIM3delta; double BSIM3rdsw; double BSIM3prwg; double BSIM3prwb; double BSIM3prt; double BSIM3eta0; double BSIM3etab; double BSIM3pclm; double BSIM3pdibl1; double BSIM3pdibl2; double BSIM3pdiblb; double BSIM3pscbe1; double BSIM3pscbe2; double BSIM3pvag; double BSIM3wr; double BSIM3dwg; double BSIM3dwb; double BSIM3b0; double BSIM3b1; double BSIM3alpha0; double BSIM3alpha1; double BSIM3beta0; double BSIM3ijth; double BSIM3vfb; double BSIM3elm; double BSIM3cgsl; double BSIM3cgdl; double BSIM3ckappa; double BSIM3cf; double BSIM3vfbcv; double BSIM3clc; double BSIM3cle; double BSIM3dwc; double BSIM3dlc; double BSIM3noff; double BSIM3voffcv; double BSIM3acde; double BSIM3moin; double BSIM3tcj; double BSIM3tcjsw; double BSIM3tcjswg; double BSIM3tpb; double BSIM3tpbsw; double BSIM3tpbswg; double BSIM3hdif; double BSIM3ldif; double BSIM3ld; double BSIM3rd; double BSIM3rs; double BSIM3rdc; double BSIM3rsc; double BSIM3lcdsc; double BSIM3lcdscb; double BSIM3lcdscd; double BSIM3lcit; double BSIM3lnfactor; double BSIM3lxj; double BSIM3lvsat; double BSIM3lat; double BSIM3la0; double BSIM3lags; double BSIM3la1; double BSIM3la2; double BSIM3lketa; double BSIM3lnsub; double BSIM3lnpeak; double BSIM3lngate; double BSIM3lgamma1; double BSIM3lgamma2; double BSIM3lvbx; double BSIM3lvbm; double BSIM3lxt; double BSIM3lk1; double BSIM3lkt1; double BSIM3lkt1l; double BSIM3lkt2; double BSIM3lk2; double BSIM3lk3; double BSIM3lk3b; double BSIM3lw0; double BSIM3lnlx; double BSIM3ldvt0; double BSIM3ldvt1; double BSIM3ldvt2; double BSIM3ldvt0w; double BSIM3ldvt1w; double BSIM3ldvt2w; double BSIM3ldrout; double BSIM3ldsub; double BSIM3lvth0; double BSIM3lua; double BSIM3lua1; double BSIM3lub; double BSIM3lub1; double BSIM3luc; double BSIM3luc1; double BSIM3lu0; double BSIM3lute; double BSIM3lvoff; double BSIM3ldelta; double BSIM3lrdsw; double BSIM3lprwg; double BSIM3lprwb; double BSIM3lprt; double BSIM3leta0; double BSIM3letab; double BSIM3lpclm; double BSIM3lpdibl1; double BSIM3lpdibl2; double BSIM3lpdiblb; double BSIM3lpscbe1; double BSIM3lpscbe2; double BSIM3lpvag; double BSIM3lwr; double BSIM3ldwg; double BSIM3ldwb; double BSIM3lb0; double BSIM3lb1; double BSIM3lalpha0; double BSIM3lalpha1; double BSIM3lbeta0; double BSIM3lvfb; double BSIM3lelm; double BSIM3lcgsl; double BSIM3lcgdl; double BSIM3lckappa; double BSIM3lcf; double BSIM3lclc; double BSIM3lcle; double BSIM3lvfbcv; double BSIM3lnoff; double BSIM3lvoffcv; double BSIM3lacde; double BSIM3lmoin; double BSIM3wcdsc; double BSIM3wcdscb; double BSIM3wcdscd; double BSIM3wcit; double BSIM3wnfactor; double BSIM3wxj; double BSIM3wvsat; double BSIM3wat; double BSIM3wa0; double BSIM3wags; double BSIM3wa1; double BSIM3wa2; double BSIM3wketa; double BSIM3wnsub; double BSIM3wnpeak; double BSIM3wngate; double BSIM3wgamma1; double BSIM3wgamma2; double BSIM3wvbx; double BSIM3wvbm; double BSIM3wxt; double BSIM3wk1; double BSIM3wkt1; double BSIM3wkt1l; double BSIM3wkt2; double BSIM3wk2; double BSIM3wk3; double BSIM3wk3b; double BSIM3ww0; double BSIM3wnlx; double BSIM3wdvt0; double BSIM3wdvt1; double BSIM3wdvt2; double BSIM3wdvt0w; double BSIM3wdvt1w; double BSIM3wdvt2w; double BSIM3wdrout; double BSIM3wdsub; double BSIM3wvth0; double BSIM3wua; double BSIM3wua1; double BSIM3wub; double BSIM3wub1; double BSIM3wuc; double BSIM3wuc1; double BSIM3wu0; double BSIM3wute; double BSIM3wvoff; double BSIM3wdelta; double BSIM3wrdsw; double BSIM3wprwg; double BSIM3wprwb; double BSIM3wprt; double BSIM3weta0; double BSIM3wetab; double BSIM3wpclm; double BSIM3wpdibl1; double BSIM3wpdibl2; double BSIM3wpdiblb; double BSIM3wpscbe1; double BSIM3wpscbe2; double BSIM3wpvag; double BSIM3wwr; double BSIM3wdwg; double BSIM3wdwb; double BSIM3wb0; double BSIM3wb1; double BSIM3walpha0; double BSIM3walpha1; double BSIM3wbeta0; double BSIM3wvfb; double BSIM3welm; double BSIM3wcgsl; double BSIM3wcgdl; double BSIM3wckappa; double BSIM3wcf; double BSIM3wclc; double BSIM3wcle; double BSIM3wvfbcv; double BSIM3wnoff; double BSIM3wvoffcv; double BSIM3wacde; double BSIM3wmoin; double BSIM3pcdsc; double BSIM3pcdscb; double BSIM3pcdscd; double BSIM3pcit; double BSIM3pnfactor; double BSIM3pxj; double BSIM3pvsat; double BSIM3pat; double BSIM3pa0; double BSIM3pags; double BSIM3pa1; double BSIM3pa2; double BSIM3pketa; double BSIM3pnsub; double BSIM3pnpeak; double BSIM3pngate; double BSIM3pgamma1; double BSIM3pgamma2; double BSIM3pvbx; double BSIM3pvbm; double BSIM3pxt; double BSIM3pk1; double BSIM3pkt1; double BSIM3pkt1l; double BSIM3pkt2; double BSIM3pk2; double BSIM3pk3; double BSIM3pk3b; double BSIM3pw0; double BSIM3pnlx; double BSIM3pdvt0; double BSIM3pdvt1; double BSIM3pdvt2; double BSIM3pdvt0w; double BSIM3pdvt1w; double BSIM3pdvt2w; double BSIM3pdrout; double BSIM3pdsub; double BSIM3pvth0; double BSIM3pua; double BSIM3pua1; double BSIM3pub; double BSIM3pub1; double BSIM3puc; double BSIM3puc1; double BSIM3pu0; double BSIM3pute; double BSIM3pvoff; double BSIM3pdelta; double BSIM3prdsw; double BSIM3pprwg; double BSIM3pprwb; double BSIM3pprt; double BSIM3peta0; double BSIM3petab; double BSIM3ppclm; double BSIM3ppdibl1; double BSIM3ppdibl2; double BSIM3ppdiblb; double BSIM3ppscbe1; double BSIM3ppscbe2; double BSIM3ppvag; double BSIM3pwr; double BSIM3pdwg; double BSIM3pdwb; double BSIM3pb0; double BSIM3pb1; double BSIM3palpha0; double BSIM3palpha1; double BSIM3pbeta0; double BSIM3pvfb; double BSIM3pelm; double BSIM3pcgsl; double BSIM3pcgdl; double BSIM3pckappa; double BSIM3pcf; double BSIM3pclc; double BSIM3pcle; double BSIM3pvfbcv; double BSIM3pnoff; double BSIM3pvoffcv; double BSIM3pacde; double BSIM3pmoin; double BSIM3tnom; double BSIM3cgso; double BSIM3cgdo; double BSIM3cgbo; double BSIM3xpart; double BSIM3cFringOut; double BSIM3cFringMax; double BSIM3sheetResistance; double BSIM3jctSatCurDensity; double BSIM3jctSidewallSatCurDensity; double BSIM3bulkJctPotential; double BSIM3bulkJctBotGradingCoeff; double BSIM3bulkJctSideGradingCoeff; double BSIM3bulkJctGateSideGradingCoeff; double BSIM3sidewallJctPotential; double BSIM3GatesidewallJctPotential; double BSIM3unitAreaJctCap; double BSIM3unitLengthSidewallJctCap; double BSIM3unitLengthGateSidewallJctCap; double BSIM3jctEmissionCoeff; double BSIM3jctTempExponent; double BSIM3Lint; double BSIM3Ll; double BSIM3Llc; double BSIM3Lln; double BSIM3Lw; double BSIM3Lwc; double BSIM3Lwn; double BSIM3Lwl; double BSIM3Lwlc; double BSIM3Lmin; double BSIM3Lmax; double BSIM3Wint; double BSIM3Wl; double BSIM3Wlc; double BSIM3Wln; double BSIM3Ww; double BSIM3Wwc; double BSIM3Wwn; double BSIM3Wwl; double BSIM3Wwlc; double BSIM3Wmin; double BSIM3Wmax; double BSIM3xl; double BSIM3xw; double BSIM3vtm; double BSIM3cox; double BSIM3cof1; double BSIM3cof2; double BSIM3cof3; double BSIM3cof4; double BSIM3vcrit; double BSIM3factor1; double BSIM3PhiB; double BSIM3PhiBSW; double BSIM3PhiBSWG; double BSIM3jctTempSatCurDensity; double BSIM3jctSidewallTempSatCurDensity; double BSIM3unitAreaTempJctCap; double BSIM3unitLengthSidewallTempJctCap; double BSIM3unitLengthGateSidewallTempJctCap; double BSIM3oxideTrapDensityA; double BSIM3oxideTrapDensityB; double BSIM3oxideTrapDensityC; double BSIM3em; double BSIM3ef; double BSIM3af; double BSIM3kf; struct bsim3SizeDependParam *pSizeDependParamKnot; unsigned int BSIM3mobModGiven; unsigned int BSIM3binUnitGiven; unsigned int BSIM3capModGiven; unsigned int BSIM3acmModGiven; unsigned int BSIM3paramChkGiven; unsigned int BSIM3noiModGiven; unsigned int BSIM3typeGiven; unsigned int BSIM3toxGiven; unsigned int BSIM3versionGiven; unsigned int BSIM3toxmGiven; unsigned int BSIM3cdscGiven; unsigned int BSIM3cdscbGiven; unsigned int BSIM3cdscdGiven; unsigned int BSIM3citGiven; unsigned int BSIM3nfactorGiven; unsigned int BSIM3xjGiven; unsigned int BSIM3vsatGiven; unsigned int BSIM3atGiven; unsigned int BSIM3a0Given; unsigned int BSIM3agsGiven; unsigned int BSIM3a1Given; unsigned int BSIM3a2Given; unsigned int BSIM3ketaGiven; unsigned int BSIM3nsubGiven; unsigned int BSIM3npeakGiven; unsigned int BSIM3ngateGiven; unsigned int BSIM3gamma1Given; unsigned int BSIM3gamma2Given; unsigned int BSIM3vbxGiven; unsigned int BSIM3vbmGiven; unsigned int BSIM3xtGiven; unsigned int BSIM3k1Given; unsigned int BSIM3kt1Given; unsigned int BSIM3kt1lGiven; unsigned int BSIM3kt2Given; unsigned int BSIM3k2Given; unsigned int BSIM3k3Given; unsigned int BSIM3k3bGiven; unsigned int BSIM3w0Given; unsigned int BSIM3nlxGiven; unsigned int BSIM3dvt0Given; unsigned int BSIM3dvt1Given; unsigned int BSIM3dvt2Given; unsigned int BSIM3dvt0wGiven; unsigned int BSIM3dvt1wGiven; unsigned int BSIM3dvt2wGiven; unsigned int BSIM3droutGiven; unsigned int BSIM3dsubGiven; unsigned int BSIM3vth0Given; unsigned int BSIM3uaGiven; unsigned int BSIM3ua1Given; unsigned int BSIM3ubGiven; unsigned int BSIM3ub1Given; unsigned int BSIM3ucGiven; unsigned int BSIM3uc1Given; unsigned int BSIM3u0Given; unsigned int BSIM3uteGiven; unsigned int BSIM3voffGiven; unsigned int BSIM3rdswGiven; unsigned int BSIM3prwgGiven; unsigned int BSIM3prwbGiven; unsigned int BSIM3prtGiven; unsigned int BSIM3eta0Given; unsigned int BSIM3etabGiven; unsigned int BSIM3pclmGiven; unsigned int BSIM3pdibl1Given; unsigned int BSIM3pdibl2Given; unsigned int BSIM3pdiblbGiven; unsigned int BSIM3pscbe1Given; unsigned int BSIM3pscbe2Given; unsigned int BSIM3pvagGiven; unsigned int BSIM3deltaGiven; unsigned int BSIM3wrGiven; unsigned int BSIM3dwgGiven; unsigned int BSIM3dwbGiven; unsigned int BSIM3b0Given; unsigned int BSIM3b1Given; unsigned int BSIM3alpha0Given; unsigned int BSIM3alpha1Given; unsigned int BSIM3beta0Given; unsigned int BSIM3ijthGiven; unsigned int BSIM3vfbGiven; unsigned int BSIM3elmGiven; unsigned int BSIM3cgslGiven; unsigned int BSIM3cgdlGiven; unsigned int BSIM3ckappaGiven; unsigned int BSIM3cfGiven; unsigned int BSIM3vfbcvGiven; unsigned int BSIM3clcGiven; unsigned int BSIM3cleGiven; unsigned int BSIM3dwcGiven; unsigned int BSIM3dlcGiven; unsigned int BSIM3noffGiven; unsigned int BSIM3voffcvGiven; unsigned int BSIM3acdeGiven; unsigned int BSIM3moinGiven; unsigned int BSIM3tcjGiven; unsigned int BSIM3tcjswGiven; unsigned int BSIM3tcjswgGiven; unsigned int BSIM3tpbGiven; unsigned int BSIM3tpbswGiven; unsigned int BSIM3tpbswgGiven; unsigned int BSIM3hdifGiven; unsigned int BSIM3ldifGiven; unsigned int BSIM3ldGiven; unsigned int BSIM3rdGiven; unsigned int BSIM3rsGiven; unsigned int BSIM3rdcGiven; unsigned int BSIM3rscGiven; unsigned int BSIM3lcdscGiven; unsigned int BSIM3lcdscbGiven; unsigned int BSIM3lcdscdGiven; unsigned int BSIM3lcitGiven; unsigned int BSIM3lnfactorGiven; unsigned int BSIM3lxjGiven; unsigned int BSIM3lvsatGiven; unsigned int BSIM3latGiven; unsigned int BSIM3la0Given; unsigned int BSIM3lagsGiven; unsigned int BSIM3la1Given; unsigned int BSIM3la2Given; unsigned int BSIM3lketaGiven; unsigned int BSIM3lnsubGiven; unsigned int BSIM3lnpeakGiven; unsigned int BSIM3lngateGiven; unsigned int BSIM3lgamma1Given; unsigned int BSIM3lgamma2Given; unsigned int BSIM3lvbxGiven; unsigned int BSIM3lvbmGiven; unsigned int BSIM3lxtGiven; unsigned int BSIM3lk1Given; unsigned int BSIM3lkt1Given; unsigned int BSIM3lkt1lGiven; unsigned int BSIM3lkt2Given; unsigned int BSIM3lk2Given; unsigned int BSIM3lk3Given; unsigned int BSIM3lk3bGiven; unsigned int BSIM3lw0Given; unsigned int BSIM3lnlxGiven; unsigned int BSIM3ldvt0Given; unsigned int BSIM3ldvt1Given; unsigned int BSIM3ldvt2Given; unsigned int BSIM3ldvt0wGiven; unsigned int BSIM3ldvt1wGiven; unsigned int BSIM3ldvt2wGiven; unsigned int BSIM3ldroutGiven; unsigned int BSIM3ldsubGiven; unsigned int BSIM3lvth0Given; unsigned int BSIM3luaGiven; unsigned int BSIM3lua1Given; unsigned int BSIM3lubGiven; unsigned int BSIM3lub1Given; unsigned int BSIM3lucGiven; unsigned int BSIM3luc1Given; unsigned int BSIM3lu0Given; unsigned int BSIM3luteGiven; unsigned int BSIM3lvoffGiven; unsigned int BSIM3lrdswGiven; unsigned int BSIM3lprwgGiven; unsigned int BSIM3lprwbGiven; unsigned int BSIM3lprtGiven; unsigned int BSIM3leta0Given; unsigned int BSIM3letabGiven; unsigned int BSIM3lpclmGiven; unsigned int BSIM3lpdibl1Given; unsigned int BSIM3lpdibl2Given; unsigned int BSIM3lpdiblbGiven; unsigned int BSIM3lpscbe1Given; unsigned int BSIM3lpscbe2Given; unsigned int BSIM3lpvagGiven; unsigned int BSIM3ldeltaGiven; unsigned int BSIM3lwrGiven; unsigned int BSIM3ldwgGiven; unsigned int BSIM3ldwbGiven; unsigned int BSIM3lb0Given; unsigned int BSIM3lb1Given; unsigned int BSIM3lalpha0Given; unsigned int BSIM3lalpha1Given; unsigned int BSIM3lbeta0Given; unsigned int BSIM3lvfbGiven; unsigned int BSIM3lelmGiven; unsigned int BSIM3lcgslGiven; unsigned int BSIM3lcgdlGiven; unsigned int BSIM3lckappaGiven; unsigned int BSIM3lcfGiven; unsigned int BSIM3lclcGiven; unsigned int BSIM3lcleGiven; unsigned int BSIM3lvfbcvGiven; unsigned int BSIM3lnoffGiven; unsigned int BSIM3lvoffcvGiven; unsigned int BSIM3lacdeGiven; unsigned int BSIM3lmoinGiven; unsigned int BSIM3wcdscGiven; unsigned int BSIM3wcdscbGiven; unsigned int BSIM3wcdscdGiven; unsigned int BSIM3wcitGiven; unsigned int BSIM3wnfactorGiven; unsigned int BSIM3wxjGiven; unsigned int BSIM3wvsatGiven; unsigned int BSIM3watGiven; unsigned int BSIM3wa0Given; unsigned int BSIM3wagsGiven; unsigned int BSIM3wa1Given; unsigned int BSIM3wa2Given; unsigned int BSIM3wketaGiven; unsigned int BSIM3wnsubGiven; unsigned int BSIM3wnpeakGiven; unsigned int BSIM3wngateGiven; unsigned int BSIM3wgamma1Given; unsigned int BSIM3wgamma2Given; unsigned int BSIM3wvbxGiven; unsigned int BSIM3wvbmGiven; unsigned int BSIM3wxtGiven; unsigned int BSIM3wk1Given; unsigned int BSIM3wkt1Given; unsigned int BSIM3wkt1lGiven; unsigned int BSIM3wkt2Given; unsigned int BSIM3wk2Given; unsigned int BSIM3wk3Given; unsigned int BSIM3wk3bGiven; unsigned int BSIM3ww0Given; unsigned int BSIM3wnlxGiven; unsigned int BSIM3wdvt0Given; unsigned int BSIM3wdvt1Given; unsigned int BSIM3wdvt2Given; unsigned int BSIM3wdvt0wGiven; unsigned int BSIM3wdvt1wGiven; unsigned int BSIM3wdvt2wGiven; unsigned int BSIM3wdroutGiven; unsigned int BSIM3wdsubGiven; unsigned int BSIM3wvth0Given; unsigned int BSIM3wuaGiven; unsigned int BSIM3wua1Given; unsigned int BSIM3wubGiven; unsigned int BSIM3wub1Given; unsigned int BSIM3wucGiven; unsigned int BSIM3wuc1Given; unsigned int BSIM3wu0Given; unsigned int BSIM3wuteGiven; unsigned int BSIM3wvoffGiven; unsigned int BSIM3wrdswGiven; unsigned int BSIM3wprwgGiven; unsigned int BSIM3wprwbGiven; unsigned int BSIM3wprtGiven; unsigned int BSIM3weta0Given; unsigned int BSIM3wetabGiven; unsigned int BSIM3wpclmGiven; unsigned int BSIM3wpdibl1Given; unsigned int BSIM3wpdibl2Given; unsigned int BSIM3wpdiblbGiven; unsigned int BSIM3wpscbe1Given; unsigned int BSIM3wpscbe2Given; unsigned int BSIM3wpvagGiven; unsigned int BSIM3wdeltaGiven; unsigned int BSIM3wwrGiven; unsigned int BSIM3wdwgGiven; unsigned int BSIM3wdwbGiven; unsigned int BSIM3wb0Given; unsigned int BSIM3wb1Given; unsigned int BSIM3walpha0Given; unsigned int BSIM3walpha1Given; unsigned int BSIM3wbeta0Given; unsigned int BSIM3wvfbGiven; unsigned int BSIM3welmGiven; unsigned int BSIM3wcgslGiven; unsigned int BSIM3wcgdlGiven; unsigned int BSIM3wckappaGiven; unsigned int BSIM3wcfGiven; unsigned int BSIM3wclcGiven; unsigned int BSIM3wcleGiven; unsigned int BSIM3wvfbcvGiven; unsigned int BSIM3wnoffGiven; unsigned int BSIM3wvoffcvGiven; unsigned int BSIM3wacdeGiven; unsigned int BSIM3wmoinGiven; unsigned int BSIM3pcdscGiven; unsigned int BSIM3pcdscbGiven; unsigned int BSIM3pcdscdGiven; unsigned int BSIM3pcitGiven; unsigned int BSIM3pnfactorGiven; unsigned int BSIM3pxjGiven; unsigned int BSIM3pvsatGiven; unsigned int BSIM3patGiven; unsigned int BSIM3pa0Given; unsigned int BSIM3pagsGiven; unsigned int BSIM3pa1Given; unsigned int BSIM3pa2Given; unsigned int BSIM3pketaGiven; unsigned int BSIM3pnsubGiven; unsigned int BSIM3pnpeakGiven; unsigned int BSIM3pngateGiven; unsigned int BSIM3pgamma1Given; unsigned int BSIM3pgamma2Given; unsigned int BSIM3pvbxGiven; unsigned int BSIM3pvbmGiven; unsigned int BSIM3pxtGiven; unsigned int BSIM3pk1Given; unsigned int BSIM3pkt1Given; unsigned int BSIM3pkt1lGiven; unsigned int BSIM3pkt2Given; unsigned int BSIM3pk2Given; unsigned int BSIM3pk3Given; unsigned int BSIM3pk3bGiven; unsigned int BSIM3pw0Given; unsigned int BSIM3pnlxGiven; unsigned int BSIM3pdvt0Given; unsigned int BSIM3pdvt1Given; unsigned int BSIM3pdvt2Given; unsigned int BSIM3pdvt0wGiven; unsigned int BSIM3pdvt1wGiven; unsigned int BSIM3pdvt2wGiven; unsigned int BSIM3pdroutGiven; unsigned int BSIM3pdsubGiven; unsigned int BSIM3pvth0Given; unsigned int BSIM3puaGiven; unsigned int BSIM3pua1Given; unsigned int BSIM3pubGiven; unsigned int BSIM3pub1Given; unsigned int BSIM3pucGiven; unsigned int BSIM3puc1Given; unsigned int BSIM3pu0Given; unsigned int BSIM3puteGiven; unsigned int BSIM3pvoffGiven; unsigned int BSIM3prdswGiven; unsigned int BSIM3pprwgGiven; unsigned int BSIM3pprwbGiven; unsigned int BSIM3pprtGiven; unsigned int BSIM3peta0Given; unsigned int BSIM3petabGiven; unsigned int BSIM3ppclmGiven; unsigned int BSIM3ppdibl1Given; unsigned int BSIM3ppdibl2Given; unsigned int BSIM3ppdiblbGiven; unsigned int BSIM3ppscbe1Given; unsigned int BSIM3ppscbe2Given; unsigned int BSIM3ppvagGiven; unsigned int BSIM3pdeltaGiven; unsigned int BSIM3pwrGiven; unsigned int BSIM3pdwgGiven; unsigned int BSIM3pdwbGiven; unsigned int BSIM3pb0Given; unsigned int BSIM3pb1Given; unsigned int BSIM3palpha0Given; unsigned int BSIM3palpha1Given; unsigned int BSIM3pbeta0Given; unsigned int BSIM3pvfbGiven; unsigned int BSIM3pelmGiven; unsigned int BSIM3pcgslGiven; unsigned int BSIM3pcgdlGiven; unsigned int BSIM3pckappaGiven; unsigned int BSIM3pcfGiven; unsigned int BSIM3pclcGiven; unsigned int BSIM3pcleGiven; unsigned int BSIM3pvfbcvGiven; unsigned int BSIM3pnoffGiven; unsigned int BSIM3pvoffcvGiven; unsigned int BSIM3pacdeGiven; unsigned int BSIM3pmoinGiven; unsigned int BSIM3useFringeGiven; unsigned int BSIM3tnomGiven; unsigned int BSIM3cgsoGiven; unsigned int BSIM3cgdoGiven; unsigned int BSIM3cgboGiven; unsigned int BSIM3xpartGiven; unsigned int BSIM3sheetResistanceGiven; unsigned int BSIM3jctSatCurDensityGiven; unsigned int BSIM3jctSidewallSatCurDensityGiven; unsigned int BSIM3bulkJctPotentialGiven; unsigned int BSIM3bulkJctBotGradingCoeffGiven; unsigned int BSIM3sidewallJctPotentialGiven; unsigned int BSIM3GatesidewallJctPotentialGiven; unsigned int BSIM3bulkJctSideGradingCoeffGiven; unsigned int BSIM3unitAreaJctCapGiven; unsigned int BSIM3unitLengthSidewallJctCapGiven; unsigned int BSIM3bulkJctGateSideGradingCoeffGiven; unsigned int BSIM3unitLengthGateSidewallJctCapGiven; unsigned int BSIM3jctEmissionCoeffGiven; unsigned int BSIM3jctTempExponentGiven; unsigned int BSIM3oxideTrapDensityAGiven; unsigned int BSIM3oxideTrapDensityBGiven; unsigned int BSIM3oxideTrapDensityCGiven; unsigned int BSIM3emGiven; unsigned int BSIM3efGiven; unsigned int BSIM3afGiven; unsigned int BSIM3kfGiven; unsigned int BSIM3LintGiven; unsigned int BSIM3LlGiven; unsigned int BSIM3LlcGiven; unsigned int BSIM3LlnGiven; unsigned int BSIM3LwGiven; unsigned int BSIM3LwcGiven; unsigned int BSIM3LwnGiven; unsigned int BSIM3LwlGiven; unsigned int BSIM3LwlcGiven; unsigned int BSIM3LminGiven; unsigned int BSIM3LmaxGiven; unsigned int BSIM3WintGiven; unsigned int BSIM3WlGiven; unsigned int BSIM3WlcGiven; unsigned int BSIM3WlnGiven; unsigned int BSIM3WwGiven; unsigned int BSIM3WwcGiven; unsigned int BSIM3WwnGiven; unsigned int BSIM3WwlGiven; unsigned int BSIM3WwlcGiven; unsigned int BSIM3WminGiven; unsigned int BSIM3WmaxGiven; unsigned int BSIM3xlGiven; unsigned int BSIM3xwGiven; } *

variable_types: struct sBSIM3instance { struct sBSIM3model { int BSIM3modType; struct sBSIM3model *BSIM3nextModel; struct sBSIM3instance *BSIM3instances; char *BSIM3modName; int BSIM3type; int BSIM3mobMod; int BSIM3capMod; int BSIM3acmMod; int BSIM3noiMod; int BSIM3binUnit; int BSIM3paramChk; char *BSIM3version; int BSIM3intVersion; double BSIM3tox; double BSIM3toxm; double BSIM3cdsc; double BSIM3cdscb; double BSIM3cdscd; double BSIM3cit; double BSIM3nfactor; double BSIM3xj; double BSIM3vsat; double BSIM3at; double BSIM3a0; double BSIM3ags; double BSIM3a1; double BSIM3a2; double BSIM3keta; double BSIM3nsub; double BSIM3npeak; double BSIM3ngate; double BSIM3gamma1; double BSIM3gamma2; double BSIM3vbx; double BSIM3vbm; double BSIM3xt; double BSIM3k1; double BSIM3kt1; double BSIM3kt1l; double BSIM3kt2; double BSIM3k2; double BSIM3k3; double BSIM3k3b; double BSIM3w0; double BSIM3nlx; double BSIM3dvt0; double BSIM3dvt1; double BSIM3dvt2; double BSIM3dvt0w; double BSIM3dvt1w; double BSIM3dvt2w; double BSIM3drout; double BSIM3dsub; double BSIM3vth0; double BSIM3ua; double BSIM3ua1; double BSIM3ub; double BSIM3ub1; double BSIM3uc; double BSIM3uc1; double BSIM3u0; double BSIM3ute; double BSIM3voff; double BSIM3delta; double BSIM3rdsw; double BSIM3prwg; double BSIM3prwb; double BSIM3prt; double BSIM3eta0; double BSIM3etab; double BSIM3pclm; double BSIM3pdibl1; double BSIM3pdibl2; double BSIM3pdiblb; double BSIM3pscbe1; double BSIM3pscbe2; double BSIM3pvag; double BSIM3wr; double BSIM3dwg; double BSIM3dwb; double BSIM3b0; double BSIM3b1; double BSIM3alpha0; double BSIM3alpha1; double BSIM3beta0; double BSIM3ijth; double BSIM3vfb; double BSIM3elm; double BSIM3cgsl; double BSIM3cgdl; double BSIM3ckappa; double BSIM3cf; double BSIM3vfbcv; double BSIM3clc; double BSIM3cle; double BSIM3dwc; double BSIM3dlc; double BSIM3noff; double BSIM3voffcv; double BSIM3acde; double BSIM3moin; double BSIM3tcj; double BSIM3tcjsw; double BSIM3tcjswg; double BSIM3tpb; double BSIM3tpbsw; double BSIM3tpbswg; double BSIM3hdif; double BSIM3ldif; double BSIM3ld; double BSIM3rd; double BSIM3rs; double BSIM3rdc; double BSIM3rsc; double BSIM3lcdsc; double BSIM3lcdscb; double BSIM3lcdscd; double BSIM3lcit; double BSIM3lnfactor; double BSIM3lxj; double BSIM3lvsat; double BSIM3lat; double BSIM3la0; double BSIM3lags; double BSIM3la1; double BSIM3la2; double BSIM3lketa; double BSIM3lnsub; double BSIM3lnpeak; double BSIM3lngate; double BSIM3lgamma1; double BSIM3lgamma2; double BSIM3lvbx; double BSIM3lvbm; double BSIM3lxt; double BSIM3lk1; double BSIM3lkt1; double BSIM3lkt1l; double BSIM3lkt2; double BSIM3lk2; double BSIM3lk3; double BSIM3lk3b; double BSIM3lw0; double BSIM3lnlx; double BSIM3ldvt0; double BSIM3ldvt1; double BSIM3ldvt2; double BSIM3ldvt0w; double BSIM3ldvt1w; double BSIM3ldvt2w; double BSIM3ldrout; double BSIM3ldsub; double BSIM3lvth0; double BSIM3lua; double BSIM3lua1; double BSIM3lub; double BSIM3lub1; double BSIM3luc; double BSIM3luc1; double BSIM3lu0; double BSIM3lute; double BSIM3lvoff; double BSIM3ldelta; double BSIM3lrdsw; double BSIM3lprwg; double BSIM3lprwb; double BSIM3lprt; double BSIM3leta0; double BSIM3letab; double BSIM3lpclm; double BSIM3lpdibl1; double BSIM3lpdibl2; double BSIM3lpdiblb; double BSIM3lpscbe1; double BSIM3lpscbe2; double BSIM3lpvag; double BSIM3lwr; double BSIM3ldwg; double BSIM3ldwb; double BSIM3lb0; double BSIM3lb1; double BSIM3lalpha0; double BSIM3lalpha1; double BSIM3lbeta0; double BSIM3lvfb; double BSIM3lelm; double BSIM3lcgsl; double BSIM3lcgdl; double BSIM3lckappa; double BSIM3lcf; double BSIM3lclc; double BSIM3lcle; double BSIM3lvfbcv; double BSIM3lnoff; double BSIM3lvoffcv; double BSIM3lacde; double BSIM3lmoin; double BSIM3wcdsc; double BSIM3wcdscb; double BSIM3wcdscd; double BSIM3wcit; double BSIM3wnfactor; double BSIM3wxj; double BSIM3wvsat; double BSIM3wat; double BSIM3wa0; double BSIM3wags; double BSIM3wa1; double BSIM3wa2; double BSIM3wketa; double BSIM3wnsub; double BSIM3wnpeak; double BSIM3wngate; double BSIM3wgamma1; double BSIM3wgamma2; double BSIM3wvbx; double BSIM3wvbm; double BSIM3wxt; double BSIM3wk1; double BSIM3wkt1; double BSIM3wkt1l; double BSIM3wkt2; double BSIM3wk2; double BSIM3wk3; double BSIM3wk3b; double BSIM3ww0; double BSIM3wnlx; double BSIM3wdvt0; double BSIM3wdvt1; double BSIM3wdvt2; double BSIM3wdvt0w; double BSIM3wdvt1w; double BSIM3wdvt2w; double BSIM3wdrout; double BSIM3wdsub; double BSIM3wvth0; double BSIM3wua; double BSIM3wua1; double BSIM3wub; double BSIM3wub1; double BSIM3wuc; double BSIM3wuc1; double BSIM3wu0; double BSIM3wute; double BSIM3wvoff; double BSIM3wdelta; double BSIM3wrdsw; double BSIM3wprwg; double BSIM3wprwb; double BSIM3wprt; double BSIM3weta0; double BSIM3wetab; double BSIM3wpclm; double BSIM3wpdibl1; double BSIM3wpdibl2; double BSIM3wpdiblb; double BSIM3wpscbe1; double BSIM3wpscbe2; double BSIM3wpvag; double BSIM3wwr; double BSIM3wdwg; double BSIM3wdwb; double BSIM3wb0; double BSIM3wb1; double BSIM3walpha0; double BSIM3walpha1; double BSIM3wbeta0; double BSIM3wvfb; double BSIM3welm; double BSIM3wcgsl; double BSIM3wcgdl; double BSIM3wckappa; double BSIM3wcf; double BSIM3wclc; double BSIM3wcle; double BSIM3wvfbcv; double BSIM3wnoff; double BSIM3wvoffcv; double BSIM3wacde; double BSIM3wmoin; double BSIM3pcdsc; double BSIM3pcdscb; double BSIM3pcdscd; double BSIM3pcit; double BSIM3pnfactor; double BSIM3pxj; double BSIM3pvsat; double BSIM3pat; double BSIM3pa0; double BSIM3pags; double BSIM3pa1; double BSIM3pa2; double BSIM3pketa; double BSIM3pnsub; double BSIM3pnpeak; double BSIM3pngate; double BSIM3pgamma1; double BSIM3pgamma2; double BSIM3pvbx; double BSIM3pvbm; double BSIM3pxt; double BSIM3pk1; double BSIM3pkt1; double BSIM3pkt1l; double BSIM3pkt2; double BSIM3pk2; double BSIM3pk3; double BSIM3pk3b; double BSIM3pw0; double BSIM3pnlx; double BSIM3pdvt0; double BSIM3pdvt1; double BSIM3pdvt2; double BSIM3pdvt0w; double BSIM3pdvt1w; double BSIM3pdvt2w; double BSIM3pdrout; double BSIM3pdsub; double BSIM3pvth0; double BSIM3pua; double BSIM3pua1; double BSIM3pub; double BSIM3pub1; double BSIM3puc; double BSIM3puc1; double BSIM3pu0; double BSIM3pute; double BSIM3pvoff; double BSIM3pdelta; double BSIM3prdsw; double BSIM3pprwg; double BSIM3pprwb; double BSIM3pprt; double BSIM3peta0; double BSIM3petab; double BSIM3ppclm; double BSIM3ppdibl1; double BSIM3ppdibl2; double BSIM3ppdiblb; double BSIM3ppscbe1; double BSIM3ppscbe2; double BSIM3ppvag; double BSIM3pwr; double BSIM3pdwg; double BSIM3pdwb; double BSIM3pb0; double BSIM3pb1; double BSIM3palpha0; double BSIM3palpha1; double BSIM3pbeta0; double BSIM3pvfb; double BSIM3pelm; double BSIM3pcgsl; double BSIM3pcgdl; double BSIM3pckappa; double BSIM3pcf; double BSIM3pclc; double BSIM3pcle; double BSIM3pvfbcv; double BSIM3pnoff; double BSIM3pvoffcv; double BSIM3pacde; double BSIM3pmoin; double BSIM3tnom; double BSIM3cgso; double BSIM3cgdo; double BSIM3cgbo; double BSIM3xpart; double BSIM3cFringOut; double BSIM3cFringMax; double BSIM3sheetResistance; double BSIM3jctSatCurDensity; double BSIM3jctSidewallSatCurDensity; double BSIM3bulkJctPotential; double BSIM3bulkJctBotGradingCoeff; double BSIM3bulkJctSideGradingCoeff; double BSIM3bulkJctGateSideGradingCoeff; double BSIM3sidewallJctPotential; double BSIM3GatesidewallJctPotential; double BSIM3unitAreaJctCap; double BSIM3unitLengthSidewallJctCap; double BSIM3unitLengthGateSidewallJctCap; double BSIM3jctEmissionCoeff; double BSIM3jctTempExponent; double BSIM3Lint; double BSIM3Ll; double BSIM3Llc; double BSIM3Lln; double BSIM3Lw; double BSIM3Lwc; double BSIM3Lwn; double BSIM3Lwl; double BSIM3Lwlc; double BSIM3Lmin; double BSIM3Lmax; double BSIM3Wint; double BSIM3Wl; double BSIM3Wlc; double BSIM3Wln; double BSIM3Ww; double BSIM3Wwc; double BSIM3Wwn; double BSIM3Wwl; double BSIM3Wwlc; double BSIM3Wmin; double BSIM3Wmax; double BSIM3xl; double BSIM3xw; double BSIM3vtm; double BSIM3cox; double BSIM3cof1; double BSIM3cof2; double BSIM3cof3; double BSIM3cof4; double BSIM3vcrit; double BSIM3factor1; double BSIM3PhiB; double BSIM3PhiBSW; double BSIM3PhiBSWG; double BSIM3jctTempSatCurDensity; double BSIM3jctSidewallTempSatCurDensity; double BSIM3unitAreaTempJctCap; double BSIM3unitLengthSidewallTempJctCap; double BSIM3unitLengthGateSidewallTempJctCap; double BSIM3oxideTrapDensityA; double BSIM3oxideTrapDensityB; double BSIM3oxideTrapDensityC; double BSIM3em; double BSIM3ef; double BSIM3af; double BSIM3kf; struct bsim3SizeDependParam { double Width; double Length; double BSIM3cdsc; double BSIM3cdscb; double BSIM3cdscd; double BSIM3cit; double BSIM3nfactor; double BSIM3xj; double BSIM3vsat; double BSIM3at; double BSIM3a0; double BSIM3ags; double BSIM3a1; double BSIM3a2; double BSIM3keta; double BSIM3nsub; double BSIM3npeak; double BSIM3ngate; double BSIM3gamma1; double BSIM3gamma2; double BSIM3vbx; double BSIM3vbi; double BSIM3vbm; double BSIM3vbsc; double BSIM3xt; double BSIM3phi; double BSIM3litl; double BSIM3k1; double BSIM3kt1; double BSIM3kt1l; double BSIM3kt2; double BSIM3k2; double BSIM3k3; double BSIM3k3b; double BSIM3w0; double BSIM3nlx; double BSIM3dvt0; double BSIM3dvt1; double BSIM3dvt2; double BSIM3dvt0w; double BSIM3dvt1w; double BSIM3dvt2w; double BSIM3drout; double BSIM3dsub; double BSIM3vth0; double BSIM3ua; double BSIM3ua1; double BSIM3ub; double BSIM3ub1; double BSIM3uc; double BSIM3uc1; double BSIM3u0; double BSIM3ute; double BSIM3voff; double BSIM3vfb; double BSIM3delta; double BSIM3rdsw; double BSIM3rds0; double BSIM3prwg; double BSIM3prwb; double BSIM3prt; double BSIM3eta0; double BSIM3etab; double BSIM3pclm; double BSIM3pdibl1; double BSIM3pdibl2; double BSIM3pdiblb; double BSIM3pscbe1; double BSIM3pscbe2; double BSIM3pvag; double BSIM3wr; double BSIM3dwg; double BSIM3dwb; double BSIM3b0; double BSIM3b1; double BSIM3alpha0; double BSIM3alpha1; double BSIM3beta0; double BSIM3elm; double BSIM3cgsl; double BSIM3cgdl; double BSIM3ckappa; double BSIM3cf; double BSIM3clc; double BSIM3cle; double BSIM3vfbcv; double BSIM3noff; double BSIM3voffcv; double BSIM3acde; double BSIM3moin; double BSIM3dw; double BSIM3dl; double BSIM3leff; double BSIM3weff; double BSIM3dwc; double BSIM3dlc; double BSIM3leffCV; double BSIM3weffCV; double BSIM3abulkCVfactor; double BSIM3cgso; double BSIM3cgdo; double BSIM3cgbo; double BSIM3tconst; double BSIM3u0temp; double BSIM3vsattemp; double BSIM3sqrtPhi; double BSIM3phis3; double BSIM3Xdep0; double BSIM3sqrtXdep0; double BSIM3theta0vb0; double BSIM3thetaRout; double BSIM3cof1; double BSIM3cof2; double BSIM3cof3; double BSIM3cof4; double BSIM3cdep0; double BSIM3vfbzb; double BSIM3ldeb; double BSIM3k1ox; double BSIM3k2ox; struct bsim3SizeDependParam *pNext; } *pSizeDependParamKnot; unsigned int BSIM3mobModGiven; unsigned int BSIM3binUnitGiven; unsigned int BSIM3capModGiven; unsigned int BSIM3acmModGiven; unsigned int BSIM3paramChkGiven; unsigned int BSIM3noiModGiven; unsigned int BSIM3typeGiven; unsigned int BSIM3toxGiven; unsigned int BSIM3versionGiven; unsigned int BSIM3toxmGiven; unsigned int BSIM3cdscGiven; unsigned int BSIM3cdscbGiven; unsigned int BSIM3cdscdGiven; unsigned int BSIM3citGiven; unsigned int BSIM3nfactorGiven; unsigned int BSIM3xjGiven; unsigned int BSIM3vsatGiven; unsigned int BSIM3atGiven; unsigned int BSIM3a0Given; unsigned int BSIM3agsGiven; unsigned int BSIM3a1Given; unsigned int BSIM3a2Given; unsigned int BSIM3ketaGiven; unsigned int BSIM3nsubGiven; unsigned int BSIM3npeakGiven; unsigned int BSIM3ngateGiven; unsigned int BSIM3gamma1Given; unsigned int BSIM3gamma2Given; unsigned int BSIM3vbxGiven; unsigned int BSIM3vbmGiven; unsigned int BSIM3xtGiven; unsigned int BSIM3k1Given; unsigned int BSIM3kt1Given; unsigned int BSIM3kt1lGiven; unsigned int BSIM3kt2Given; unsigned int BSIM3k2Given; unsigned int BSIM3k3Given; unsigned int BSIM3k3bGiven; unsigned int BSIM3w0Given; unsigned int BSIM3nlxGiven; unsigned int BSIM3dvt0Given; unsigned int BSIM3dvt1Given; unsigned int BSIM3dvt2Given; unsigned int BSIM3dvt0wGiven; unsigned int BSIM3dvt1wGiven; unsigned int BSIM3dvt2wGiven; unsigned int BSIM3droutGiven; unsigned int BSIM3dsubGiven; unsigned int BSIM3vth0Given; unsigned int BSIM3uaGiven; unsigned int BSIM3ua1Given; unsigned int BSIM3ubGiven; unsigned int BSIM3ub1Given; unsigned int BSIM3ucGiven; unsigned int BSIM3uc1Given; unsigned int BSIM3u0Given; unsigned int BSIM3uteGiven; unsigned int BSIM3voffGiven; unsigned int BSIM3rdswGiven; unsigned int BSIM3prwgGiven; unsigned int BSIM3prwbGiven; unsigned int BSIM3prtGiven; unsigned int BSIM3eta0Given; unsigned int BSIM3etabGiven; unsigned int BSIM3pclmGiven; unsigned int BSIM3pdibl1Given; unsigned int BSIM3pdibl2Given; unsigned int BSIM3pdiblbGiven; unsigned int BSIM3pscbe1Given; unsigned int BSIM3pscbe2Given; unsigned int BSIM3pvagGiven; unsigned int BSIM3deltaGiven; unsigned int BSIM3wrGiven; unsigned int BSIM3dwgGiven; unsigned int BSIM3dwbGiven; unsigned int BSIM3b0Given; unsigned int BSIM3b1Given; unsigned int BSIM3alpha0Given; unsigned int BSIM3alpha1Given; unsigned int BSIM3beta0Given; unsigned int BSIM3ijthGiven; unsigned int BSIM3vfbGiven; unsigned int BSIM3elmGiven; unsigned int BSIM3cgslGiven; unsigned int BSIM3cgdlGiven; unsigned int BSIM3ckappaGiven; unsigned int BSIM3cfGiven; unsigned int BSIM3vfbcvGiven; unsigned int BSIM3clcGiven; unsigned int BSIM3cleGiven; unsigned int BSIM3dwcGiven; unsigned int BSIM3dlcGiven; unsigned int BSIM3noffGiven; unsigned int BSIM3voffcvGiven; unsigned int BSIM3acdeGiven; unsigned int BSIM3moinGiven; unsigned int BSIM3tcjGiven; unsigned int BSIM3tcjswGiven; unsigned int BSIM3tcjswgGiven; unsigned int BSIM3tpbGiven; unsigned int BSIM3tpbswGiven; unsigned int BSIM3tpbswgGiven; unsigned int BSIM3hdifGiven; unsigned int BSIM3ldifGiven; unsigned int BSIM3ldGiven; unsigned int BSIM3rdGiven; unsigned int BSIM3rsGiven; unsigned int BSIM3rdcGiven; unsigned int BSIM3rscGiven; unsigned int BSIM3lcdscGiven; unsigned int BSIM3lcdscbGiven; unsigned int BSIM3lcdscdGiven; unsigned int BSIM3lcitGiven; unsigned int BSIM3lnfactorGiven; unsigned int BSIM3lxjGiven; unsigned int BSIM3lvsatGiven; unsigned int BSIM3latGiven; unsigned int BSIM3la0Given; unsigned int BSIM3lagsGiven; unsigned int BSIM3la1Given; unsigned int BSIM3la2Given; unsigned int BSIM3lketaGiven; unsigned int BSIM3lnsubGiven; unsigned int BSIM3lnpeakGiven; unsigned int BSIM3lngateGiven; unsigned int BSIM3lgamma1Given; unsigned int BSIM3lgamma2Given; unsigned int BSIM3lvbxGiven; unsigned int BSIM3lvbmGiven; unsigned int BSIM3lxtGiven; unsigned int BSIM3lk1Given; unsigned int BSIM3lkt1Given; unsigned int BSIM3lkt1lGiven; unsigned int BSIM3lkt2Given; unsigned int BSIM3lk2Given; unsigned int BSIM3lk3Given; unsigned int BSIM3lk3bGiven; unsigned int BSIM3lw0Given; unsigned int BSIM3lnlxGiven; unsigned int BSIM3ldvt0Given; unsigned int BSIM3ldvt1Given; unsigned int BSIM3ldvt2Given; unsigned int BSIM3ldvt0wGiven; unsigned int BSIM3ldvt1wGiven; unsigned int BSIM3ldvt2wGiven; unsigned int BSIM3ldroutGiven; unsigned int BSIM3ldsubGiven; unsigned int BSIM3lvth0Given; unsigned int BSIM3luaGiven; unsigned int BSIM3lua1Given; unsigned int BSIM3lubGiven; unsigned int BSIM3lub1Given; unsigned int BSIM3lucGiven; unsigned int BSIM3luc1Given; unsigned int BSIM3lu0Given; unsigned int BSIM3luteGiven; unsigned int BSIM3lvoffGiven; unsigned int BSIM3lrdswGiven; unsigned int BSIM3lprwgGiven; unsigned int BSIM3lprwbGiven; unsigned int BSIM3lprtGiven; unsigned int BSIM3leta0Given; unsigned int BSIM3letabGiven; unsigned int BSIM3lpclmGiven; unsigned int BSIM3lpdibl1Given; unsigned int BSIM3lpdibl2Given; unsigned int BSIM3lpdiblbGiven; unsigned int BSIM3lpscbe1Given; unsigned int BSIM3lpscbe2Given; unsigned int BSIM3lpvagGiven; unsigned int BSIM3ldeltaGiven; unsigned int BSIM3lwrGiven; unsigned int BSIM3ldwgGiven; unsigned int BSIM3ldwbGiven; unsigned int BSIM3lb0Given; unsigned int BSIM3lb1Given; unsigned int BSIM3lalpha0Given; unsigned int BSIM3lalpha1Given; unsigned int BSIM3lbeta0Given; unsigned int BSIM3lvfbGiven; unsigned int BSIM3lelmGiven; unsigned int BSIM3lcgslGiven; unsigned int BSIM3lcgdlGiven; unsigned int BSIM3lckappaGiven; unsigned int BSIM3lcfGiven; unsigned int BSIM3lclcGiven; unsigned int BSIM3lcleGiven; unsigned int BSIM3lvfbcvGiven; unsigned int BSIM3lnoffGiven; unsigned int BSIM3lvoffcvGiven; unsigned int BSIM3lacdeGiven; unsigned int BSIM3lmoinGiven; unsigned int BSIM3wcdscGiven; unsigned int BSIM3wcdscbGiven; unsigned int BSIM3wcdscdGiven; unsigned int BSIM3wcitGiven; unsigned int BSIM3wnfactorGiven; unsigned int BSIM3wxjGiven; unsigned int BSIM3wvsatGiven; unsigned int BSIM3watGiven; unsigned int BSIM3wa0Given; unsigned int BSIM3wagsGiven; unsigned int BSIM3wa1Given; unsigned int BSIM3wa2Given; unsigned int BSIM3wketaGiven; unsigned int BSIM3wnsubGiven; unsigned int BSIM3wnpeakGiven; unsigned int BSIM3wngateGiven; unsigned int BSIM3wgamma1Given; unsigned int BSIM3wgamma2Given; unsigned int BSIM3wvbxGiven; unsigned int BSIM3wvbmGiven; unsigned int BSIM3wxtGiven; unsigned int BSIM3wk1Given; unsigned int BSIM3wkt1Given; unsigned int BSIM3wkt1lGiven; unsigned int BSIM3wkt2Given; unsigned int BSIM3wk2Given; unsigned int BSIM3wk3Given; unsigned int BSIM3wk3bGiven; unsigned int BSIM3ww0Given; unsigned int BSIM3wnlxGiven; unsigned int BSIM3wdvt0Given; unsigned int BSIM3wdvt1Given; unsigned int BSIM3wdvt2Given; unsigned int BSIM3wdvt0wGiven; unsigned int BSIM3wdvt1wGiven; unsigned int BSIM3wdvt2wGiven; unsigned int BSIM3wdroutGiven; unsigned int BSIM3wdsubGiven; unsigned int BSIM3wvth0Given; unsigned int BSIM3wuaGiven; unsigned int BSIM3wua1Given; unsigned int BSIM3wubGiven; unsigned int BSIM3wub1Given; unsigned int BSIM3wucGiven; unsigned int BSIM3wuc1Given; unsigned int BSIM3wu0Given; unsigned int BSIM3wuteGiven; unsigned int BSIM3wvoffGiven; unsigned int BSIM3wrdswGiven; unsigned int BSIM3wprwgGiven; unsigned int BSIM3wprwbGiven; unsigned int BSIM3wprtGiven; unsigned int BSIM3weta0Given; unsigned int BSIM3wetabGiven; unsigned int BSIM3wpclmGiven; unsigned int BSIM3wpdibl1Given; unsigned int BSIM3wpdibl2Given; unsigned int BSIM3wpdiblbGiven; unsigned int BSIM3wpscbe1Given; unsigned int BSIM3wpscbe2Given; unsigned int BSIM3wpvagGiven; unsigned int BSIM3wdeltaGiven; unsigned int BSIM3wwrGiven; unsigned int BSIM3wdwgGiven; unsigned int BSIM3wdwbGiven; unsigned int BSIM3wb0Given; unsigned int BSIM3wb1Given; unsigned int BSIM3walpha0Given; unsigned int BSIM3walpha1Given; unsigned int BSIM3wbeta0Given; unsigned int BSIM3wvfbGiven; unsigned int BSIM3welmGiven; unsigned int BSIM3wcgslGiven; unsigned int BSIM3wcgdlGiven; unsigned int BSIM3wckappaGiven; unsigned int BSIM3wcfGiven; unsigned int BSIM3wclcGiven; unsigned int BSIM3wcleGiven; unsigned int BSIM3wvfbcvGiven; unsigned int BSIM3wnoffGiven; unsigned int BSIM3wvoffcvGiven; unsigned int BSIM3wacdeGiven; unsigned int BSIM3wmoinGiven; unsigned int BSIM3pcdscGiven; unsigned int BSIM3pcdscbGiven; unsigned int BSIM3pcdscdGiven; unsigned int BSIM3pcitGiven; unsigned int BSIM3pnfactorGiven; unsigned int BSIM3pxjGiven; unsigned int BSIM3pvsatGiven; unsigned int BSIM3patGiven; unsigned int BSIM3pa0Given; unsigned int BSIM3pagsGiven; unsigned int BSIM3pa1Given; unsigned int BSIM3pa2Given; unsigned int BSIM3pketaGiven; unsigned int BSIM3pnsubGiven; unsigned int BSIM3pnpeakGiven; unsigned int BSIM3pngateGiven; unsigned int BSIM3pgamma1Given; unsigned int BSIM3pgamma2Given; unsigned int BSIM3pvbxGiven; unsigned int BSIM3pvbmGiven; unsigned int BSIM3pxtGiven; unsigned int BSIM3pk1Given; unsigned int BSIM3pkt1Given; unsigned int BSIM3pkt1lGiven; unsigned int BSIM3pkt2Given; unsigned int BSIM3pk2Given; unsigned int BSIM3pk3Given; unsigned int BSIM3pk3bGiven; unsigned int BSIM3pw0Given; unsigned int BSIM3pnlxGiven; unsigned int BSIM3pdvt0Given; unsigned int BSIM3pdvt1Given; unsigned int BSIM3pdvt2Given; unsigned int BSIM3pdvt0wGiven; unsigned int BSIM3pdvt1wGiven; unsigned int BSIM3pdvt2wGiven; unsigned int BSIM3pdroutGiven; unsigned int BSIM3pdsubGiven; unsigned int BSIM3pvth0Given; unsigned int BSIM3puaGiven; unsigned int BSIM3pua1Given; unsigned int BSIM3pubGiven; unsigned int BSIM3pub1Given; unsigned int BSIM3pucGiven; unsigned int BSIM3puc1Given; unsigned int BSIM3pu0Given; unsigned int BSIM3puteGiven; unsigned int BSIM3pvoffGiven; unsigned int BSIM3prdswGiven; unsigned int BSIM3pprwgGiven; unsigned int BSIM3pprwbGiven; unsigned int BSIM3pprtGiven; unsigned int BSIM3peta0Given; unsigned int BSIM3petabGiven; unsigned int BSIM3ppclmGiven; unsigned int BSIM3ppdibl1Given; unsigned int BSIM3ppdibl2Given; unsigned int BSIM3ppdiblbGiven; unsigned int BSIM3ppscbe1Given; unsigned int BSIM3ppscbe2Given; unsigned int BSIM3ppvagGiven; unsigned int BSIM3pdeltaGiven; unsigned int BSIM3pwrGiven; unsigned int BSIM3pdwgGiven; unsigned int BSIM3pdwbGiven; unsigned int BSIM3pb0Given; unsigned int BSIM3pb1Given; unsigned int BSIM3palpha0Given; unsigned int BSIM3palpha1Given; unsigned int BSIM3pbeta0Given; unsigned int BSIM3pvfbGiven; unsigned int BSIM3pelmGiven; unsigned int BSIM3pcgslGiven; unsigned int BSIM3pcgdlGiven; unsigned int BSIM3pckappaGiven; unsigned int BSIM3pcfGiven; unsigned int BSIM3pclcGiven; unsigned int BSIM3pcleGiven; unsigned int BSIM3pvfbcvGiven; unsigned int BSIM3pnoffGiven; unsigned int BSIM3pvoffcvGiven; unsigned int BSIM3pacdeGiven; unsigned int BSIM3pmoinGiven; unsigned int BSIM3useFringeGiven; unsigned int BSIM3tnomGiven; unsigned int BSIM3cgsoGiven; unsigned int BSIM3cgdoGiven; unsigned int BSIM3cgboGiven; unsigned int BSIM3xpartGiven; unsigned int BSIM3sheetResistanceGiven; unsigned int BSIM3jctSatCurDensityGiven; unsigned int BSIM3jctSidewallSatCurDensityGiven; unsigned int BSIM3bulkJctPotentialGiven; unsigned int BSIM3bulkJctBotGradingCoeffGiven; unsigned int BSIM3sidewallJctPotentialGiven; unsigned int BSIM3GatesidewallJctPotentialGiven; unsigned int BSIM3bulkJctSideGradingCoeffGiven; unsigned int BSIM3unitAreaJctCapGiven; unsigned int BSIM3unitLengthSidewallJctCapGiven; unsigned int BSIM3bulkJctGateSideGradingCoeffGiven; unsigned int BSIM3unitLengthGateSidewallJctCapGiven; unsigned int BSIM3jctEmissionCoeffGiven; unsigned int BSIM3jctTempExponentGiven; unsigned int BSIM3oxideTrapDensityAGiven; unsigned int BSIM3oxideTrapDensityBGiven; unsigned int BSIM3oxideTrapDensityCGiven; unsigned int BSIM3emGiven; unsigned int BSIM3efGiven; unsigned int BSIM3afGiven; unsigned int BSIM3kfGiven; unsigned int BSIM3LintGiven; unsigned int BSIM3LlGiven; unsigned int BSIM3LlcGiven; unsigned int BSIM3LlnGiven; unsigned int BSIM3LwGiven; unsigned int BSIM3LwcGiven; unsigned int BSIM3LwnGiven; unsigned int BSIM3LwlGiven; unsigned int BSIM3LwlcGiven; unsigned int BSIM3LminGiven; unsigned int BSIM3LmaxGiven; unsigned int BSIM3WintGiven; unsigned int BSIM3WlGiven; unsigned int BSIM3WlcGiven; unsigned int BSIM3WlnGiven; unsigned int BSIM3WwGiven; unsigned int BSIM3WwcGiven; unsigned int BSIM3WwnGiven; unsigned int BSIM3WwlGiven; unsigned int BSIM3WwlcGiven; unsigned int BSIM3WminGiven; unsigned int BSIM3WmaxGiven; unsigned int BSIM3xlGiven; unsigned int BSIM3xwGiven; } *BSIM3modPtr; struct sBSIM3instance *BSIM3nextInstance; char *BSIM3name; int BSIM3owner; int BSIM3states; int BSIM3dNode; int BSIM3gNode; int BSIM3sNode; int BSIM3bNode; int BSIM3dNodePrime; int BSIM3sNodePrime; int BSIM3qNode; double BSIM3ueff; double BSIM3thetavth; double BSIM3von; double BSIM3vdsat; double BSIM3cgdo; double BSIM3cgso; double BSIM3vjsm; double BSIM3IsEvjsm; double BSIM3vjdm; double BSIM3IsEvjdm; double BSIM3l; double BSIM3w; double BSIM3m; double BSIM3drainArea; double BSIM3sourceArea; double BSIM3drainSquares; double BSIM3sourceSquares; double BSIM3drainPerimeter; double BSIM3sourcePerimeter; double BSIM3sourceConductance; double BSIM3drainConductance; double BSIM3icVBS; double BSIM3icVDS; double BSIM3icVGS; int BSIM3off; int BSIM3mode; int BSIM3nqsMod; double BSIM3qinv; double BSIM3cd; double BSIM3cbs; double BSIM3cbd; double BSIM3csub; double BSIM3gm; double BSIM3gds; double BSIM3gmbs; double BSIM3gbd; double BSIM3gbs; double BSIM3gbbs; double BSIM3gbgs; double BSIM3gbds; double BSIM3cggb; double BSIM3cgdb; double BSIM3cgsb; double BSIM3cbgb; double BSIM3cbdb; double BSIM3cbsb; double BSIM3cdgb; double BSIM3cddb; double BSIM3cdsb; double BSIM3capbd; double BSIM3capbs; double BSIM3cqgb; double BSIM3cqdb; double BSIM3cqsb; double BSIM3cqbb; double BSIM3qgate; double BSIM3qbulk; double BSIM3qdrn; double BSIM3gtau; double BSIM3gtg; double BSIM3gtd; double BSIM3gts; double BSIM3gtb; double BSIM3rds; double BSIM3Vgsteff; double BSIM3Vdseff; double BSIM3Abulk; double BSIM3AbovVgst2Vtm; struct bsim3SizeDependParam *pParam; unsigned int BSIM3lGiven; unsigned int BSIM3wGiven; unsigned int BSIM3mGiven; unsigned int BSIM3drainAreaGiven; unsigned int BSIM3sourceAreaGiven; unsigned int BSIM3drainSquaresGiven; unsigned int BSIM3sourceSquaresGiven; unsigned int BSIM3drainPerimeterGiven; unsigned int BSIM3sourcePerimeterGiven; unsigned int BSIM3dNodePrimeSet; unsigned int BSIM3sNodePrimeSet; unsigned int BSIM3icVBSGiven; unsigned int BSIM3icVDSGiven; unsigned int BSIM3icVGSGiven; unsigned int BSIM3nqsModGiven; double *BSIM3DdPtr; double *BSIM3GgPtr; double *BSIM3SsPtr; double *BSIM3BbPtr; double *BSIM3DPdpPtr; double *BSIM3SPspPtr; double *BSIM3DdpPtr; double *BSIM3GbPtr; double *BSIM3GdpPtr; double *BSIM3GspPtr; double *BSIM3SspPtr; double *BSIM3BdpPtr; double *BSIM3BspPtr; double *BSIM3DPspPtr; double *BSIM3DPdPtr; double *BSIM3BgPtr; double *BSIM3DPgPtr; double *BSIM3SPgPtr; double *BSIM3SPsPtr; double *BSIM3DPbPtr; double *BSIM3SPbPtr; double *BSIM3SPdpPtr; double *BSIM3QqPtr; double *BSIM3QdpPtr; double *BSIM3QgPtr; double *BSIM3QspPtr; double *BSIM3QbPtr; double *BSIM3DPqPtr; double *BSIM3GqPtr; double *BSIM3SPqPtr; double *BSIM3BqPtr; double BSIM3nVar[3][5]; } *

variable_types:
name
char [64]

variable_types: tempOnoise double

variable_types: tempInoise double

variable_types:
noizDens
double [5]

variable_types:
lnNdens
double [5]

variable_types: vgs double

variable_types: Slimit double

variable_types: Swi double

variable_types: m double

variable_types: i int

return_type: int

user_defined_types: struct sGENmodel { int GENmodType; struct sGENmodel *GENnextModel; struct sGENinstance *GENinstances; char *GENmodName; }

user_defined_types: struct CKTcircuit { struct sGENmodel **CKThead; struct STATistics *CKTstat; double *CKTstates[8]; double CKTtime; double CKTdelta; double CKTdeltaOld[7]; double CKTtemp; double CKTnomTemp; double CKTvt; double CKTag[7]; double CKTagp[7]; int CKTorder; int CKTmaxOrder; int CKTintegrateMethod; void *CKTmatrix; int CKTniState; double *CKTrhs; double *CKTrhsOld; double *CKTrhsSpare; double *CKTirhs; double *CKTirhsOld; double *CKTirhsSpare; double *CKTpred; double *CKTsols[8]; double *CKTrhsOp; double *CKTsenRhs; double *CKTseniRhs; int CKTmaxEqNum; int CKTcurrentAnalysis; struct sCKTnode *CKTnodes; struct sCKTnode *CKTlastNode; int CKTnumStates; long CKTmode; int CKTbypass; int CKTdcMaxIter; int CKTdcTrcvMaxIter; int CKTtranMaxIter; int CKTbreakSize; int CKTbreak; double CKTsaveDelta; double CKTminBreak; double *CKTbreaks; double CKTabstol; double CKTpivotAbsTol; double CKTpivotRelTol; double CKTreltol; double CKTchgtol; double CKTvoltTol; double CKTgmin; double CKTgshunt; double CKTdelmin; double CKTtrtol; double CKTfinalTime; double CKTstep; double CKTmaxStep; double CKTinitTime; double CKTomega; double CKTsrcFact; double CKTdiagGmin; int CKTnumSrcSteps; int CKTnumGminSteps; double CKTgminFactor; int CKTnoncon; double CKTdefaultMosM; double CKTdefaultMosL; double CKTdefaultMosW; double CKTdefaultMosAD; double CKTdefaultMosAS; unsigned int CKThadNodeset; unsigned int CKTfixLimit; unsigned int CKTnoOpIter; unsigned int CKTisSetup; struct sJOB *CKTcurJob; struct SENstruct *CKTsenInfo; double *CKTtimePoints; double *CKTdeltaList; int CKTtimeListSize; int CKTtimeIndex; int CKTsizeIncr; unsigned int CKTtryToCompact; unsigned int CKTbadMos3; unsigned int CKTkeepOpInfo; unsigned int CKTcopyNodesets; unsigned int CKTnodeDamping; double CKTabsDv; double CKTrelDv; int CKTtroubleNode; struct sGENinstance *CKTtroubleElt; }

user_defined_types: struct sBSIM3model { int BSIM3modType; struct sBSIM3model *BSIM3nextModel; struct sBSIM3instance *BSIM3instances; char *BSIM3modName; int BSIM3type; int BSIM3mobMod; int BSIM3capMod; int BSIM3acmMod; int BSIM3noiMod; int BSIM3binUnit; int BSIM3paramChk; char *BSIM3version; int BSIM3intVersion; double BSIM3tox; double BSIM3toxm; double BSIM3cdsc; double BSIM3cdscb; double BSIM3cdscd; double BSIM3cit; double BSIM3nfactor; double BSIM3xj; double BSIM3vsat; double BSIM3at; double BSIM3a0; double BSIM3ags; double BSIM3a1; double BSIM3a2; double BSIM3keta; double BSIM3nsub; double BSIM3npeak; double BSIM3ngate; double BSIM3gamma1; double BSIM3gamma2; double BSIM3vbx; double BSIM3vbm; double BSIM3xt; double BSIM3k1; double BSIM3kt1; double BSIM3kt1l; double BSIM3kt2; double BSIM3k2; double BSIM3k3; double BSIM3k3b; double BSIM3w0; double BSIM3nlx; double BSIM3dvt0; double BSIM3dvt1; double BSIM3dvt2; double BSIM3dvt0w; double BSIM3dvt1w; double BSIM3dvt2w; double BSIM3drout; double BSIM3dsub; double BSIM3vth0; double BSIM3ua; double BSIM3ua1; double BSIM3ub; double BSIM3ub1; double BSIM3uc; double BSIM3uc1; double BSIM3u0; double BSIM3ute; double BSIM3voff; double BSIM3delta; double BSIM3rdsw; double BSIM3prwg; double BSIM3prwb; double BSIM3prt; double BSIM3eta0; double BSIM3etab; double BSIM3pclm; double BSIM3pdibl1; double BSIM3pdibl2; double BSIM3pdiblb; double BSIM3pscbe1; double BSIM3pscbe2; double BSIM3pvag; double BSIM3wr; double BSIM3dwg; double BSIM3dwb; double BSIM3b0; double BSIM3b1; double BSIM3alpha0; double BSIM3alpha1; double BSIM3beta0; double BSIM3ijth; double BSIM3vfb; double BSIM3elm; double BSIM3cgsl; double BSIM3cgdl; double BSIM3ckappa; double BSIM3cf; double BSIM3vfbcv; double BSIM3clc; double BSIM3cle; double BSIM3dwc; double BSIM3dlc; double BSIM3noff; double BSIM3voffcv; double BSIM3acde; double BSIM3moin; double BSIM3tcj; double BSIM3tcjsw; double BSIM3tcjswg; double BSIM3tpb; double BSIM3tpbsw; double BSIM3tpbswg; double BSIM3hdif; double BSIM3ldif; double BSIM3ld; double BSIM3rd; double BSIM3rs; double BSIM3rdc; double BSIM3rsc; double BSIM3lcdsc; double BSIM3lcdscb; double BSIM3lcdscd; double BSIM3lcit; double BSIM3lnfactor; double BSIM3lxj; double BSIM3lvsat; double BSIM3lat; double BSIM3la0; double BSIM3lags; double BSIM3la1; double BSIM3la2; double BSIM3lketa; double BSIM3lnsub; double BSIM3lnpeak; double BSIM3lngate; double BSIM3lgamma1; double BSIM3lgamma2; double BSIM3lvbx; double BSIM3lvbm; double BSIM3lxt; double BSIM3lk1; double BSIM3lkt1; double BSIM3lkt1l; double BSIM3lkt2; double BSIM3lk2; double BSIM3lk3; double BSIM3lk3b; double BSIM3lw0; double BSIM3lnlx; double BSIM3ldvt0; double BSIM3ldvt1; double BSIM3ldvt2; double BSIM3ldvt0w; double BSIM3ldvt1w; double BSIM3ldvt2w; double BSIM3ldrout; double BSIM3ldsub; double BSIM3lvth0; double BSIM3lua; double BSIM3lua1; double BSIM3lub; double BSIM3lub1; double BSIM3luc; double BSIM3luc1; double BSIM3lu0; double BSIM3lute; double BSIM3lvoff; double BSIM3ldelta; double BSIM3lrdsw; double BSIM3lprwg; double BSIM3lprwb; double BSIM3lprt; double BSIM3leta0; double BSIM3letab; double BSIM3lpclm; double BSIM3lpdibl1; double BSIM3lpdibl2; double BSIM3lpdiblb; double BSIM3lpscbe1; double BSIM3lpscbe2; double BSIM3lpvag; double BSIM3lwr; double BSIM3ldwg; double BSIM3ldwb; double BSIM3lb0; double BSIM3lb1; double BSIM3lalpha0; double BSIM3lalpha1; double BSIM3lbeta0; double BSIM3lvfb; double BSIM3lelm; double BSIM3lcgsl; double BSIM3lcgdl; double BSIM3lckappa; double BSIM3lcf; double BSIM3lclc; double BSIM3lcle; double BSIM3lvfbcv; double BSIM3lnoff; double BSIM3lvoffcv; double BSIM3lacde; double BSIM3lmoin; double BSIM3wcdsc; double BSIM3wcdscb; double BSIM3wcdscd; double BSIM3wcit; double BSIM3wnfactor; double BSIM3wxj; double BSIM3wvsat; double BSIM3wat; double BSIM3wa0; double BSIM3wags; double BSIM3wa1; double BSIM3wa2; double BSIM3wketa; double BSIM3wnsub; double BSIM3wnpeak; double BSIM3wngate; double BSIM3wgamma1; double BSIM3wgamma2; double BSIM3wvbx; double BSIM3wvbm; double BSIM3wxt; double BSIM3wk1; double BSIM3wkt1; double BSIM3wkt1l; double BSIM3wkt2; double BSIM3wk2; double BSIM3wk3; double BSIM3wk3b; double BSIM3ww0; double BSIM3wnlx; double BSIM3wdvt0; double BSIM3wdvt1; double BSIM3wdvt2; double BSIM3wdvt0w; double BSIM3wdvt1w; double BSIM3wdvt2w; double BSIM3wdrout; double BSIM3wdsub; double BSIM3wvth0; double BSIM3wua; double BSIM3wua1; double BSIM3wub; double BSIM3wub1; double BSIM3wuc; double BSIM3wuc1; double BSIM3wu0; double BSIM3wute; double BSIM3wvoff; double BSIM3wdelta; double BSIM3wrdsw; double BSIM3wprwg; double BSIM3wprwb; double BSIM3wprt; double BSIM3weta0; double BSIM3wetab; double BSIM3wpclm; double BSIM3wpdibl1; double BSIM3wpdibl2; double BSIM3wpdiblb; double BSIM3wpscbe1; double BSIM3wpscbe2; double BSIM3wpvag; double BSIM3wwr; double BSIM3wdwg; double BSIM3wdwb; double BSIM3wb0; double BSIM3wb1; double BSIM3walpha0; double BSIM3walpha1; double BSIM3wbeta0; double BSIM3wvfb; double BSIM3welm; double BSIM3wcgsl; double BSIM3wcgdl; double BSIM3wckappa; double BSIM3wcf; double BSIM3wclc; double BSIM3wcle; double BSIM3wvfbcv; double BSIM3wnoff; double BSIM3wvoffcv; double BSIM3wacde; double BSIM3wmoin; double BSIM3pcdsc; double BSIM3pcdscb; double BSIM3pcdscd; double BSIM3pcit; double BSIM3pnfactor; double BSIM3pxj; double BSIM3pvsat; double BSIM3pat; double BSIM3pa0; double BSIM3pags; double BSIM3pa1; double BSIM3pa2; double BSIM3pketa; double BSIM3pnsub; double BSIM3pnpeak; double BSIM3pngate; double BSIM3pgamma1; double BSIM3pgamma2; double BSIM3pvbx; double BSIM3pvbm; double BSIM3pxt; double BSIM3pk1; double BSIM3pkt1; double BSIM3pkt1l; double BSIM3pkt2; double BSIM3pk2; double BSIM3pk3; double BSIM3pk3b; double BSIM3pw0; double BSIM3pnlx; double BSIM3pdvt0; double BSIM3pdvt1; double BSIM3pdvt2; double BSIM3pdvt0w; double BSIM3pdvt1w; double BSIM3pdvt2w; double BSIM3pdrout; double BSIM3pdsub; double BSIM3pvth0; double BSIM3pua; double BSIM3pua1; double BSIM3pub; double BSIM3pub1; double BSIM3puc; double BSIM3puc1; double BSIM3pu0; double BSIM3pute; double BSIM3pvoff; double BSIM3pdelta; double BSIM3prdsw; double BSIM3pprwg; double BSIM3pprwb; double BSIM3pprt; double BSIM3peta0; double BSIM3petab; double BSIM3ppclm; double BSIM3ppdibl1; double BSIM3ppdibl2; double BSIM3ppdiblb; double BSIM3ppscbe1; double BSIM3ppscbe2; double BSIM3ppvag; double BSIM3pwr; double BSIM3pdwg; double BSIM3pdwb; double BSIM3pb0; double BSIM3pb1; double BSIM3palpha0; double BSIM3palpha1; double BSIM3pbeta0; double BSIM3pvfb; double BSIM3pelm; double BSIM3pcgsl; double BSIM3pcgdl; double BSIM3pckappa; double BSIM3pcf; double BSIM3pclc; double BSIM3pcle; double BSIM3pvfbcv; double BSIM3pnoff; double BSIM3pvoffcv; double BSIM3pacde; double BSIM3pmoin; double BSIM3tnom; double BSIM3cgso; double BSIM3cgdo; double BSIM3cgbo; double BSIM3xpart; double BSIM3cFringOut; double BSIM3cFringMax; double BSIM3sheetResistance; double BSIM3jctSatCurDensity; double BSIM3jctSidewallSatCurDensity; double BSIM3bulkJctPotential; double BSIM3bulkJctBotGradingCoeff; double BSIM3bulkJctSideGradingCoeff; double BSIM3bulkJctGateSideGradingCoeff; double BSIM3sidewallJctPotential; double BSIM3GatesidewallJctPotential; double BSIM3unitAreaJctCap; double BSIM3unitLengthSidewallJctCap; double BSIM3unitLengthGateSidewallJctCap; double BSIM3jctEmissionCoeff; double BSIM3jctTempExponent; double BSIM3Lint; double BSIM3Ll; double BSIM3Llc; double BSIM3Lln; double BSIM3Lw; double BSIM3Lwc; double BSIM3Lwn; double BSIM3Lwl; double BSIM3Lwlc; double BSIM3Lmin; double BSIM3Lmax; double BSIM3Wint; double BSIM3Wl; double BSIM3Wlc; double BSIM3Wln; double BSIM3Ww; double BSIM3Wwc; double BSIM3Wwn; double BSIM3Wwl; double BSIM3Wwlc; double BSIM3Wmin; double BSIM3Wmax; double BSIM3xl; double BSIM3xw; double BSIM3vtm; double BSIM3cox; double BSIM3cof1; double BSIM3cof2; double BSIM3cof3; double BSIM3cof4; double BSIM3vcrit; double BSIM3factor1; double BSIM3PhiB; double BSIM3PhiBSW; double BSIM3PhiBSWG; double BSIM3jctTempSatCurDensity; double BSIM3jctSidewallTempSatCurDensity; double BSIM3unitAreaTempJctCap; double BSIM3unitLengthSidewallTempJctCap; double BSIM3unitLengthGateSidewallTempJctCap; double BSIM3oxideTrapDensityA; double BSIM3oxideTrapDensityB; double BSIM3oxideTrapDensityC; double BSIM3em; double BSIM3ef; double BSIM3af; double BSIM3kf; struct bsim3SizeDependParam *pSizeDependParamKnot; unsigned int BSIM3mobModGiven; unsigned int BSIM3binUnitGiven; unsigned int BSIM3capModGiven; unsigned int BSIM3acmModGiven; unsigned int BSIM3paramChkGiven; unsigned int BSIM3noiModGiven; unsigned int BSIM3typeGiven; unsigned int BSIM3toxGiven; unsigned int BSIM3versionGiven; unsigned int BSIM3toxmGiven; unsigned int BSIM3cdscGiven; unsigned int BSIM3cdscbGiven; unsigned int BSIM3cdscdGiven; unsigned int BSIM3citGiven; unsigned int BSIM3nfactorGiven; unsigned int BSIM3xjGiven; unsigned int BSIM3vsatGiven; unsigned int BSIM3atGiven; unsigned int BSIM3a0Given; unsigned int BSIM3agsGiven; unsigned int BSIM3a1Given; unsigned int BSIM3a2Given; unsigned int BSIM3ketaGiven; unsigned int BSIM3nsubGiven; unsigned int BSIM3npeakGiven; unsigned int BSIM3ngateGiven; unsigned int BSIM3gamma1Given; unsigned int BSIM3gamma2Given; unsigned int BSIM3vbxGiven; unsigned int BSIM3vbmGiven; unsigned int BSIM3xtGiven; unsigned int BSIM3k1Given; unsigned int BSIM3kt1Given; unsigned int BSIM3kt1lGiven; unsigned int BSIM3kt2Given; unsigned int BSIM3k2Given; unsigned int BSIM3k3Given; unsigned int BSIM3k3bGiven; unsigned int BSIM3w0Given; unsigned int BSIM3nlxGiven; unsigned int BSIM3dvt0Given; unsigned int BSIM3dvt1Given; unsigned int BSIM3dvt2Given; unsigned int BSIM3dvt0wGiven; unsigned int BSIM3dvt1wGiven; unsigned int BSIM3dvt2wGiven; unsigned int BSIM3droutGiven; unsigned int BSIM3dsubGiven; unsigned int BSIM3vth0Given; unsigned int BSIM3uaGiven; unsigned int BSIM3ua1Given; unsigned int BSIM3ubGiven; unsigned int BSIM3ub1Given; unsigned int BSIM3ucGiven; unsigned int BSIM3uc1Given; unsigned int BSIM3u0Given; unsigned int BSIM3uteGiven; unsigned int BSIM3voffGiven; unsigned int BSIM3rdswGiven; unsigned int BSIM3prwgGiven; unsigned int BSIM3prwbGiven; unsigned int BSIM3prtGiven; unsigned int BSIM3eta0Given; unsigned int BSIM3etabGiven; unsigned int BSIM3pclmGiven; unsigned int BSIM3pdibl1Given; unsigned int BSIM3pdibl2Given; unsigned int BSIM3pdiblbGiven; unsigned int BSIM3pscbe1Given; unsigned int BSIM3pscbe2Given; unsigned int BSIM3pvagGiven; unsigned int BSIM3deltaGiven; unsigned int BSIM3wrGiven; unsigned int BSIM3dwgGiven; unsigned int BSIM3dwbGiven; unsigned int BSIM3b0Given; unsigned int BSIM3b1Given; unsigned int BSIM3alpha0Given; unsigned int BSIM3alpha1Given; unsigned int BSIM3beta0Given; unsigned int BSIM3ijthGiven; unsigned int BSIM3vfbGiven; unsigned int BSIM3elmGiven; unsigned int BSIM3cgslGiven; unsigned int BSIM3cgdlGiven; unsigned int BSIM3ckappaGiven; unsigned int BSIM3cfGiven; unsigned int BSIM3vfbcvGiven; unsigned int BSIM3clcGiven; unsigned int BSIM3cleGiven; unsigned int BSIM3dwcGiven; unsigned int BSIM3dlcGiven; unsigned int BSIM3noffGiven; unsigned int BSIM3voffcvGiven; unsigned int BSIM3acdeGiven; unsigned int BSIM3moinGiven; unsigned int BSIM3tcjGiven; unsigned int BSIM3tcjswGiven; unsigned int BSIM3tcjswgGiven; unsigned int BSIM3tpbGiven; unsigned int BSIM3tpbswGiven; unsigned int BSIM3tpbswgGiven; unsigned int BSIM3hdifGiven; unsigned int BSIM3ldifGiven; unsigned int BSIM3ldGiven; unsigned int BSIM3rdGiven; unsigned int BSIM3rsGiven; unsigned int BSIM3rdcGiven; unsigned int BSIM3rscGiven; unsigned int BSIM3lcdscGiven; unsigned int BSIM3lcdscbGiven; unsigned int BSIM3lcdscdGiven; unsigned int BSIM3lcitGiven; unsigned int BSIM3lnfactorGiven; unsigned int BSIM3lxjGiven; unsigned int BSIM3lvsatGiven; unsigned int BSIM3latGiven; unsigned int BSIM3la0Given; unsigned int BSIM3lagsGiven; unsigned int BSIM3la1Given; unsigned int BSIM3la2Given; unsigned int BSIM3lketaGiven; unsigned int BSIM3lnsubGiven; unsigned int BSIM3lnpeakGiven; unsigned int BSIM3lngateGiven; unsigned int BSIM3lgamma1Given; unsigned int BSIM3lgamma2Given; unsigned int BSIM3lvbxGiven; unsigned int BSIM3lvbmGiven; unsigned int BSIM3lxtGiven; unsigned int BSIM3lk1Given; unsigned int BSIM3lkt1Given; unsigned int BSIM3lkt1lGiven; unsigned int BSIM3lkt2Given; unsigned int BSIM3lk2Given; unsigned int BSIM3lk3Given; unsigned int BSIM3lk3bGiven; unsigned int BSIM3lw0Given; unsigned int BSIM3lnlxGiven; unsigned int BSIM3ldvt0Given; unsigned int BSIM3ldvt1Given; unsigned int BSIM3ldvt2Given; unsigned int BSIM3ldvt0wGiven; unsigned int BSIM3ldvt1wGiven; unsigned int BSIM3ldvt2wGiven; unsigned int BSIM3ldroutGiven; unsigned int BSIM3ldsubGiven; unsigned int BSIM3lvth0Given; unsigned int BSIM3luaGiven; unsigned int BSIM3lua1Given; unsigned int BSIM3lubGiven; unsigned int BSIM3lub1Given; unsigned int BSIM3lucGiven; unsigned int BSIM3luc1Given; unsigned int BSIM3lu0Given; unsigned int BSIM3luteGiven; unsigned int BSIM3lvoffGiven; unsigned int BSIM3lrdswGiven; unsigned int BSIM3lprwgGiven; unsigned int BSIM3lprwbGiven; unsigned int BSIM3lprtGiven; unsigned int BSIM3leta0Given; unsigned int BSIM3letabGiven; unsigned int BSIM3lpclmGiven; unsigned int BSIM3lpdibl1Given; unsigned int BSIM3lpdibl2Given; unsigned int BSIM3lpdiblbGiven; unsigned int BSIM3lpscbe1Given; unsigned int BSIM3lpscbe2Given; unsigned int BSIM3lpvagGiven; unsigned int BSIM3ldeltaGiven; unsigned int BSIM3lwrGiven; unsigned int BSIM3ldwgGiven; unsigned int BSIM3ldwbGiven; unsigned int BSIM3lb0Given; unsigned int BSIM3lb1Given; unsigned int BSIM3lalpha0Given; unsigned int BSIM3lalpha1Given; unsigned int BSIM3lbeta0Given; unsigned int BSIM3lvfbGiven; unsigned int BSIM3lelmGiven; unsigned int BSIM3lcgslGiven; unsigned int BSIM3lcgdlGiven; unsigned int BSIM3lckappaGiven; unsigned int BSIM3lcfGiven; unsigned int BSIM3lclcGiven; unsigned int BSIM3lcleGiven; unsigned int BSIM3lvfbcvGiven; unsigned int BSIM3lnoffGiven; unsigned int BSIM3lvoffcvGiven; unsigned int BSIM3lacdeGiven; unsigned int BSIM3lmoinGiven; unsigned int BSIM3wcdscGiven; unsigned int BSIM3wcdscbGiven; unsigned int BSIM3wcdscdGiven; unsigned int BSIM3wcitGiven; unsigned int BSIM3wnfactorGiven; unsigned int BSIM3wxjGiven; unsigned int BSIM3wvsatGiven; unsigned int BSIM3watGiven; unsigned int BSIM3wa0Given; unsigned int BSIM3wagsGiven; unsigned int BSIM3wa1Given; unsigned int BSIM3wa2Given; unsigned int BSIM3wketaGiven; unsigned int BSIM3wnsubGiven; unsigned int BSIM3wnpeakGiven; unsigned int BSIM3wngateGiven; unsigned int BSIM3wgamma1Given; unsigned int BSIM3wgamma2Given; unsigned int BSIM3wvbxGiven; unsigned int BSIM3wvbmGiven; unsigned int BSIM3wxtGiven; unsigned int BSIM3wk1Given; unsigned int BSIM3wkt1Given; unsigned int BSIM3wkt1lGiven; unsigned int BSIM3wkt2Given; unsigned int BSIM3wk2Given; unsigned int BSIM3wk3Given; unsigned int BSIM3wk3bGiven; unsigned int BSIM3ww0Given; unsigned int BSIM3wnlxGiven; unsigned int BSIM3wdvt0Given; unsigned int BSIM3wdvt1Given; unsigned int BSIM3wdvt2Given; unsigned int BSIM3wdvt0wGiven; unsigned int BSIM3wdvt1wGiven; unsigned int BSIM3wdvt2wGiven; unsigned int BSIM3wdroutGiven; unsigned int BSIM3wdsubGiven; unsigned int BSIM3wvth0Given; unsigned int BSIM3wuaGiven; unsigned int BSIM3wua1Given; unsigned int BSIM3wubGiven; unsigned int BSIM3wub1Given; unsigned int BSIM3wucGiven; unsigned int BSIM3wuc1Given; unsigned int BSIM3wu0Given; unsigned int BSIM3wuteGiven; unsigned int BSIM3wvoffGiven; unsigned int BSIM3wrdswGiven; unsigned int BSIM3wprwgGiven; unsigned int BSIM3wprwbGiven; unsigned int BSIM3wprtGiven; unsigned int BSIM3weta0Given; unsigned int BSIM3wetabGiven; unsigned int BSIM3wpclmGiven; unsigned int BSIM3wpdibl1Given; unsigned int BSIM3wpdibl2Given; unsigned int BSIM3wpdiblbGiven; unsigned int BSIM3wpscbe1Given; unsigned int BSIM3wpscbe2Given; unsigned int BSIM3wpvagGiven; unsigned int BSIM3wdeltaGiven; unsigned int BSIM3wwrGiven; unsigned int BSIM3wdwgGiven; unsigned int BSIM3wdwbGiven; unsigned int BSIM3wb0Given; unsigned int BSIM3wb1Given; unsigned int BSIM3walpha0Given; unsigned int BSIM3walpha1Given; unsigned int BSIM3wbeta0Given; unsigned int BSIM3wvfbGiven; unsigned int BSIM3welmGiven; unsigned int BSIM3wcgslGiven; unsigned int BSIM3wcgdlGiven; unsigned int BSIM3wckappaGiven; unsigned int BSIM3wcfGiven; unsigned int BSIM3wclcGiven; unsigned int BSIM3wcleGiven; unsigned int BSIM3wvfbcvGiven; unsigned int BSIM3wnoffGiven; unsigned int BSIM3wvoffcvGiven; unsigned int BSIM3wacdeGiven; unsigned int BSIM3wmoinGiven; unsigned int BSIM3pcdscGiven; unsigned int BSIM3pcdscbGiven; unsigned int BSIM3pcdscdGiven; unsigned int BSIM3pcitGiven; unsigned int BSIM3pnfactorGiven; unsigned int BSIM3pxjGiven; unsigned int BSIM3pvsatGiven; unsigned int BSIM3patGiven; unsigned int BSIM3pa0Given; unsigned int BSIM3pagsGiven; unsigned int BSIM3pa1Given; unsigned int BSIM3pa2Given; unsigned int BSIM3pketaGiven; unsigned int BSIM3pnsubGiven; unsigned int BSIM3pnpeakGiven; unsigned int BSIM3pngateGiven; unsigned int BSIM3pgamma1Given; unsigned int BSIM3pgamma2Given; unsigned int BSIM3pvbxGiven; unsigned int BSIM3pvbmGiven; unsigned int BSIM3pxtGiven; unsigned int BSIM3pk1Given; unsigned int BSIM3pkt1Given; unsigned int BSIM3pkt1lGiven; unsigned int BSIM3pkt2Given; unsigned int BSIM3pk2Given; unsigned int BSIM3pk3Given; unsigned int BSIM3pk3bGiven; unsigned int BSIM3pw0Given; unsigned int BSIM3pnlxGiven; unsigned int BSIM3pdvt0Given; unsigned int BSIM3pdvt1Given; unsigned int BSIM3pdvt2Given; unsigned int BSIM3pdvt0wGiven; unsigned int BSIM3pdvt1wGiven; unsigned int BSIM3pdvt2wGiven; unsigned int BSIM3pdroutGiven; unsigned int BSIM3pdsubGiven; unsigned int BSIM3pvth0Given; unsigned int BSIM3puaGiven; unsigned int BSIM3pua1Given; unsigned int BSIM3pubGiven; unsigned int BSIM3pub1Given; unsigned int BSIM3pucGiven; unsigned int BSIM3puc1Given; unsigned int BSIM3pu0Given; unsigned int BSIM3puteGiven; unsigned int BSIM3pvoffGiven; unsigned int BSIM3prdswGiven; unsigned int BSIM3pprwgGiven; unsigned int BSIM3pprwbGiven; unsigned int BSIM3pprtGiven; unsigned int BSIM3peta0Given; unsigned int BSIM3petabGiven; unsigned int BSIM3ppclmGiven; unsigned int BSIM3ppdibl1Given; unsigned int BSIM3ppdibl2Given; unsigned int BSIM3ppdiblbGiven; unsigned int BSIM3ppscbe1Given; unsigned int BSIM3ppscbe2Given; unsigned int BSIM3ppvagGiven; unsigned int BSIM3pdeltaGiven; unsigned int BSIM3pwrGiven; unsigned int BSIM3pdwgGiven; unsigned int BSIM3pdwbGiven; unsigned int BSIM3pb0Given; unsigned int BSIM3pb1Given; unsigned int BSIM3palpha0Given; unsigned int BSIM3palpha1Given; unsigned int BSIM3pbeta0Given; unsigned int BSIM3pvfbGiven; unsigned int BSIM3pelmGiven; unsigned int BSIM3pcgslGiven; unsigned int BSIM3pcgdlGiven; unsigned int BSIM3pckappaGiven; unsigned int BSIM3pcfGiven; unsigned int BSIM3pclcGiven; unsigned int BSIM3pcleGiven; unsigned int BSIM3pvfbcvGiven; unsigned int BSIM3pnoffGiven; unsigned int BSIM3pvoffcvGiven; unsigned int BSIM3pacdeGiven; unsigned int BSIM3pmoinGiven; unsigned int BSIM3useFringeGiven; unsigned int BSIM3tnomGiven; unsigned int BSIM3cgsoGiven; unsigned int BSIM3cgdoGiven; unsigned int BSIM3cgboGiven; unsigned int BSIM3xpartGiven; unsigned int BSIM3sheetResistanceGiven; unsigned int BSIM3jctSatCurDensityGiven; unsigned int BSIM3jctSidewallSatCurDensityGiven; unsigned int BSIM3bulkJctPotentialGiven; unsigned int BSIM3bulkJctBotGradingCoeffGiven; unsigned int BSIM3sidewallJctPotentialGiven; unsigned int BSIM3GatesidewallJctPotentialGiven; unsigned int BSIM3bulkJctSideGradingCoeffGiven; unsigned int BSIM3unitAreaJctCapGiven; unsigned int BSIM3unitLengthSidewallJctCapGiven; unsigned int BSIM3bulkJctGateSideGradingCoeffGiven; unsigned int BSIM3unitLengthGateSidewallJctCapGiven; unsigned int BSIM3jctEmissionCoeffGiven; unsigned int BSIM3jctTempExponentGiven; unsigned int BSIM3oxideTrapDensityAGiven; unsigned int BSIM3oxideTrapDensityBGiven; unsigned int BSIM3oxideTrapDensityCGiven; unsigned int BSIM3emGiven; unsigned int BSIM3efGiven; unsigned int BSIM3afGiven; unsigned int BSIM3kfGiven; unsigned int BSIM3LintGiven; unsigned int BSIM3LlGiven; unsigned int BSIM3LlcGiven; unsigned int BSIM3LlnGiven; unsigned int BSIM3LwGiven; unsigned int BSIM3LwcGiven; unsigned int BSIM3LwnGiven; unsigned int BSIM3LwlGiven; unsigned int BSIM3LwlcGiven; unsigned int BSIM3LminGiven; unsigned int BSIM3LmaxGiven; unsigned int BSIM3WintGiven; unsigned int BSIM3WlGiven; unsigned int BSIM3WlcGiven; unsigned int BSIM3WlnGiven; unsigned int BSIM3WwGiven; unsigned int BSIM3WwcGiven; unsigned int BSIM3WwnGiven; unsigned int BSIM3WwlGiven; unsigned int BSIM3WwlcGiven; unsigned int BSIM3WminGiven; unsigned int BSIM3WmaxGiven; unsigned int BSIM3xlGiven; unsigned int BSIM3xwGiven; }

user_defined_types: struct sBSIM3instance { struct sBSIM3model *BSIM3modPtr; struct sBSIM3instance *BSIM3nextInstance; char *BSIM3name; int BSIM3owner; int BSIM3states; int BSIM3dNode; int BSIM3gNode; int BSIM3sNode; int BSIM3bNode; int BSIM3dNodePrime; int BSIM3sNodePrime; int BSIM3qNode; double BSIM3ueff; double BSIM3thetavth; double BSIM3von; double BSIM3vdsat; double BSIM3cgdo; double BSIM3cgso; double BSIM3vjsm; double BSIM3IsEvjsm; double BSIM3vjdm; double BSIM3IsEvjdm; double BSIM3l; double BSIM3w; double BSIM3m; double BSIM3drainArea; double BSIM3sourceArea; double BSIM3drainSquares; double BSIM3sourceSquares; double BSIM3drainPerimeter; double BSIM3sourcePerimeter; double BSIM3sourceConductance; double BSIM3drainConductance; double BSIM3icVBS; double BSIM3icVDS; double BSIM3icVGS; int BSIM3off; int BSIM3mode; int BSIM3nqsMod; double BSIM3qinv; double BSIM3cd; double BSIM3cbs; double BSIM3cbd; double BSIM3csub; double BSIM3gm; double BSIM3gds; double BSIM3gmbs; double BSIM3gbd; double BSIM3gbs; double BSIM3gbbs; double BSIM3gbgs; double BSIM3gbds; double BSIM3cggb; double BSIM3cgdb; double BSIM3cgsb; double BSIM3cbgb; double BSIM3cbdb; double BSIM3cbsb; double BSIM3cdgb; double BSIM3cddb; double BSIM3cdsb; double BSIM3capbd; double BSIM3capbs; double BSIM3cqgb; double BSIM3cqdb; double BSIM3cqsb; double BSIM3cqbb; double BSIM3qgate; double BSIM3qbulk; double BSIM3qdrn; double BSIM3gtau; double BSIM3gtg; double BSIM3gtd; double BSIM3gts; double BSIM3gtb; double BSIM3rds; double BSIM3Vgsteff; double BSIM3Vdseff; double BSIM3Abulk; double BSIM3AbovVgst2Vtm; struct bsim3SizeDependParam *pParam; unsigned int BSIM3lGiven; unsigned int BSIM3wGiven; unsigned int BSIM3mGiven; unsigned int BSIM3drainAreaGiven; unsigned int BSIM3sourceAreaGiven; unsigned int BSIM3drainSquaresGiven; unsigned int BSIM3sourceSquaresGiven; unsigned int BSIM3drainPerimeterGiven; unsigned int BSIM3sourcePerimeterGiven; unsigned int BSIM3dNodePrimeSet; unsigned int BSIM3sNodePrimeSet; unsigned int BSIM3icVBSGiven; unsigned int BSIM3icVDSGiven; unsigned int BSIM3icVGSGiven; unsigned int BSIM3nqsModGiven; double *BSIM3DdPtr; double *BSIM3GgPtr; double *BSIM3SsPtr; double *BSIM3BbPtr; double *BSIM3DPdpPtr; double *BSIM3SPspPtr; double *BSIM3DdpPtr; double *BSIM3GbPtr; double *BSIM3GdpPtr; double *BSIM3GspPtr; double *BSIM3SspPtr; double *BSIM3BdpPtr; double *BSIM3BspPtr; double *BSIM3DPspPtr; double *BSIM3DPdPtr; double *BSIM3BgPtr; double *BSIM3DPgPtr; double *BSIM3SPgPtr; double *BSIM3SPsPtr; double *BSIM3DPbPtr; double *BSIM3SPbPtr; double *BSIM3SPdpPtr; double *BSIM3QqPtr; double *BSIM3QdpPtr; double *BSIM3QgPtr; double *BSIM3QspPtr; double *BSIM3QbPtr; double *BSIM3DPqPtr; double *BSIM3GqPtr; double *BSIM3SPqPtr; double *BSIM3BqPtr; double BSIM3nVar[3][5]; }

user_defined_types: struct NOISEAN { int JOBtype; struct sJOB *JOBnextJob; char *JOBname; void *output; void *outputRef; char *input; double NstartFreq; double NstopFreq; double NfreqDelta; double NsavFstp; double NsavOnoise; double NsavInoise; int NstpType; int NnumSteps; int NStpsSm; }