# SCIFF Errors

This manual reports some of the errors the user can get using SCIFF.

## CLPFD Integer Overflow

Example:

`! Representation error in user:'t>=u+c'/3`

! CLPFD integer overflow

! goal: 't>=u+c'(_2536,_2473,1)

This derives from the way SICStus represents domains in CLP(FD).
You can reproduce the error with the following
query at the SICStus prompt:

`?- X #> Y, Y #> X, X #> 0.
`

The previous query should logically fail, but in SICStus it first proves that
since X must be at least 1, Y must be at least 2, so X should be at least 3, ...
until you get an integer overflow.

One solution is to ask SICStus to fail in case of CLPFD overflow, instead
of reporting an error. This can be done with the goal

`?- fd_flag(overflow,_,fail).`
This can be quite slow; in general it is advisable to
give a domain to all CLPFD variables.

Another possibility is to use a different constraint solver.
The `r_solver`

should not suffer from this problem.

## SCIFF does not print all answer constraints

This is due to SICStus; you can force SICStus to show all constraints
with the following goal:

`?- assert(clpfd:full_answer).`

## Type error

`! Type error in argument 2 of = /2
! 'a real number' expected, but 10 found
! goal: _135=10`

This error can occur if the `r_solver`

is used.
See the documentation for the solvers.