将量子程序编译为低级门集时,必须考虑近似错误。我们提出了一种自动跟踪此类错误的方法,然后优化准确性参数以确保指定的总体精度,同时旨在最大程度地减少量子门的实现成本。我们方法的核心思想是提取直接从量子程序的高级描述中指定优化问题的功能。然后,自定义编译器通过优化这些功能,将它们变成(1)总误差和(2)实现成本(例如,总量子门计数)的(1)符号表达式。量子程序的所有未指定参数将显示为这些表达式中的变量,包括精度参数。解决相应的优化问题后,可以从发现的解决方案实例化电路。我们开发了两个原型实现,一个基于Clang/LLVM中的C ++,另一种是使用Q#编译器基础架构。我们将原型基准在典型的量子计算程序上,包括量子傅立叶变换,量子相估计和Shor算法。