N = 1000;
samples = zeros(1, N);
count = 1;

while count <= N
    x = -log(rand());
    s = rand();

    if s < 0.5
        x = -x;
    end

    u = rand();
    
    if (abs(x)-1)^2 <= -2 * log(u)
        samples(count) = x;
        count = count + 1;
    end
end

% Generate histograms for different numbers of bins
num_bins = [10, 15, 25, 50, 75, 100];
for i = 1:length(num_bins)
    figure;
    histogram(samples, num_bins(i));
    title(['Histogram with ', num2str(num_bins(i)), ' bins']);
end