What is the best way to manipulete with the fourier images of the functions

I would like to calculate a combined probability density function from components using their Fourier images,

g(x) = \int_{-\infty}^{\infty} \mathrm{d}t \, f(t)^N\, e^{-ixt}, \qquad N=100
f(t) = \int_{-1}^{1} \rho_0(x)\,\exp(i\,t\,(\log I_1(x) - \log I_1(x))

The f(t) integral works nicely with QuadGK package, then I tried Ìnterpolate(f) and used quadgk again.

using QuadGK
using Interpolations

I1(x) = 0.4
I2(x) = 2/5-3/10*(1-x^2)
#
ρ(x) = 1/2
const N = 50
#
f(t) = quadgk(x->ρ(x)*exp(1im*t*(log(I1(x))-log(I2(x)))), -1, 1)[1]
#
itp = let tv = range(-5,5,length=100)
    interpolate((tv, ), f.(tv), Gridded(Linear()))
end
#
g(v) = quadgk(t->real(itp(t)^N*exp(-1im*v*t)), -2, 2)[1] # range is cut to speed up the calculations

I am looking for is a better way of doing the same thing.
Can someone point me in the right direction (not sure if FFTW can be used here)?