### 5.4 Example

The following code defines equation x2 + sin(1∕x3) = 0 together with the search that finds all 318 solutions.

FloatDomain.setPrecision(1.0e-14);
FloatDomain.intervalPrint(false);
Store store = new Store();

FloatVar x = new FloatVar(store, "x", 0.1, 1.0);
FloatVar zero = new FloatVar(store, 0,0);
FloatVar one = new FloatVar(store, 1,1);

// x*x + sin(1.0/(x*x*x)) = 0.0;
FloatVar[] temp = new FloatVar[4];
for (int i=0; i<temp.length; i++)
temp[i] = new FloatVar(store, "temp["+i+"]", -1e150, 1e150);
store.impose(new PmulQeqR(x, x, temp[0]));
store.impose(new PmulQeqR(x, temp[0], temp[1]));
store.impose(new PdivQeqR(one, temp[1], temp[2]));
store.impose(new SinPeqR(temp[2], temp[3]));
store.impose(new PplusQeqR(temp[0], temp[3], zero));

DepthFirstSearch<FloatVar> search = new DepthFirstSearch<FloatVar>();
SplitSelectFloat<FloatVar> s = new SplitSelectFloat<FloatVar>(store,
new FloatVar[] {x}, null);
search.setSolutionListener(new PrintOutListener<FloatVar>());
search.getSolutionListener().searchAll(true);

search.labeling(store, s);

The last solution is x = 0.65351684593772.