How to use the model from Matlab
websave("mex_evoapprox.c","https://ehw.fit.vutbr.cz/evoapproxlib/mex_evoapprox.c");
websave("mul12u_33H.c","https://raw.githubusercontent.com/ehw-fit/approxlib/v1.2022/multiplers/12x12_unsigned/pareto_pwr_mre/mul12u_33H.c");
mex mex_evoapprox.c mul12u_33H.c -DEXTFUN=mul12u_33H -output mul12u_33H;
mul12u_33H(123,210)
mul12u_33H([1,2,3,4,5],[10,20,30,40,50])
BW = 12
allcombs = [0:1:2^(BW+BW)-1];
inputs = [floor(allcombs/2^BW); mod(allcombs,2^BW)];
req = inputs(1,:).*inputs(2,:);
res = mul12u_33H(inputs(1,:),inputs(2,:));
ED = req - res;
ep=sum(ED~=0)/length(ED)
wce=max(abs(ED))
nwce=max(abs(ED))/(2^(BW+BW))
nwce=max(abs(ED))/(2^(BW+1))
mae=mean(abs(ED))
mse=mean(ED.^2)