> (define (eps-func p)
> (let* ((lattice->cartesian p)
> ...
>
> You probably want to change this to
>
> (define (eps-func p)
> (let* ((p (lattice->cartesian p))
> ...
>
This is really make sense to me! Now p is the cartesian coordinate, and
then we can make values for x, y, and z. And it is also reasonable for the
LET statement.
I will try it and see the results, but it takes a long time to run the
program.