Esterel은 명령형 동기언어로서, 많은 경우에 메모리, 캐쉬 컨트롤러, 버스 인터페이스 등을 개발하는데 사용하고 있다. Esterel 프로그램은 특정 상황에서 한 문장이 한 단위시간 안에 2번 이상 수행될 수 있다. 이러한 문장을 하드웨어로 컴파일 할 경우, 하나의 회로(circuit)가 한 클럭 안에 2번 수행되어 정상적으로 동작하지 않을 수 있다. 이러한 문제를 회로 중복사용(schizophrenia) 문제라고 부른다. 기존 연구에서는 지역신호선언문과 병렬문만이 회로 중복사용 문제를 유발할 수 있다고 보았다. 하지만, 예외선언문에 의해 생성되는 제어 신호와 출력문이 만들어내는 데이터 신호도 회로 중복사용 문제를 유발할 수 있다. 특히, 출력문의 경우에는 기존 회로 중복사용 문제에 대한 해결책들의 출발점인 단순한 루프 펼치기(loop unrolling)로는 해결되지 않았다. 본 논문에서는 예외선언문과 출력문이 만들어 내는 2가지 새로운 회로 중복사용 문제들을 열거하고 회로 중복사용 문제를 재정의 하였다.