Further findings. After removing the "Rpar" parameters from the model's subcircuit there's now a different error:
Note: Compatibility modes selected: ps lt a
Circuit: KiCad schematic
Error: no such function 'tbl'
Error: no such function 'tbl'
Error: no such function 'tbl'
Error: no such function 'tbl'
Error: no such function 'tbl'
Error on line:
b.xu1.bha xu1.ha probe_int_probe_int_nc-u1-1_xu1_5_xu1_5 v= ( ternary_fcn ( ( ( v(probe_int_probe_int_net-_u1a-vdd__xu1_1_xu1_1,probe_int_probe_int_nc-u1-1_xu1_5_xu1_5) > tbl ( v(probe_int_probe_int_nc-u1-0_xu1_4_xu1_4,probe_int_probe_int_nc-u1-1_xu1_5_xu1_5) , 0.0000000000e+00 , 0.0000000000e+00 , 3.3000000000e+00 , 1.7000000000e+00 , 5.0000000000e+00 , 3.0000000000e+00 , 1.0000000000e+01 , 5.8000000000e+00 , 1.5000000000e+01 , 8.3000000000e+00 ) ) ) , 0.0000000000e+00 , ( v(probe_int_probe_int_nc-u1-0_xu1_4_xu1_4,probe_int_probe_int_nc-u1-1_xu1_5_xu1_5) ) ) )
parameter value out of range or the wrong type
Error: circuit not parsed.
Clearly, ngspice failed before because it did not recognize the "rpar" parameter, and now it fails because it does not recognize the "tbl" function which is specific to some other spice dialect (LTSpice?)
Example:
bha ha vss v=if((v(a,vss)> tbl(v(vdd,vss),0,0,3.3,1.7,5,3,10,5.8,15,8.3) ),0,v(vdd,vss))
It can probably be rewritten in a way that ngspice will understand, but... Am I the first user of ngspice on this planet who tries to use a 4093 IC in an ngspice simulation?! How do others solve this?
Update: so yes, this is LTSpice syntax and functionality that ngspice doesn't recognize and implement even in the LTSpice compatibility mode. From what I could find so far, it doesn't have a concept of interpolated lookup tables like in the above expression, and it can be, to an extent, rewritten with a sequence of ternary operators. Can someone confirm this? Is there an easier way?