java -Xmx8000000000 -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Bitvector.epf -i ../../../trunk/examples/svcomp/float-benchs/water_pid_true-unreach-call_true-termination.c -------------------------------------------------------------------------------- This is Ultimate 0.1.23-2c62905 [2018-09-19 15:50:51,851 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-09-19 15:50:51,853 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-09-19 15:50:51,866 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-09-19 15:50:51,866 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-09-19 15:50:51,868 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-09-19 15:50:51,869 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-09-19 15:50:51,871 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-09-19 15:50:51,873 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-09-19 15:50:51,873 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-09-19 15:50:51,874 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-09-19 15:50:51,875 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-09-19 15:50:51,876 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-09-19 15:50:51,877 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-09-19 15:50:51,878 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-09-19 15:50:51,878 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-09-19 15:50:51,879 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-09-19 15:50:51,881 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-09-19 15:50:51,884 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-09-19 15:50:51,885 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-09-19 15:50:51,887 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-09-19 15:50:51,892 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-09-19 15:50:51,894 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-09-19 15:50:51,894 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-09-19 15:50:51,895 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-09-19 15:50:51,896 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-09-19 15:50:51,902 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-09-19 15:50:51,903 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-09-19 15:50:51,904 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-09-19 15:50:51,905 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-09-19 15:50:51,909 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-09-19 15:50:51,910 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-09-19 15:50:51,910 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-09-19 15:50:51,910 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-09-19 15:50:51,911 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-09-19 15:50:51,914 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-09-19 15:50:51,915 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Bitvector.epf [2018-09-19 15:50:51,946 INFO L110 SettingsManager]: Loading preferences was successful [2018-09-19 15:50:51,947 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-09-19 15:50:51,948 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-09-19 15:50:51,948 INFO L133 SettingsManager]: * to procedures, called more than once=true [2018-09-19 15:50:51,948 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-09-19 15:50:51,949 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-09-19 15:50:51,949 INFO L133 SettingsManager]: * Use SBE=true [2018-09-19 15:50:51,949 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-09-19 15:50:51,950 INFO L133 SettingsManager]: * sizeof long=4 [2018-09-19 15:50:51,950 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-09-19 15:50:51,950 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-09-19 15:50:51,950 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-09-19 15:50:51,951 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-09-19 15:50:51,951 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-09-19 15:50:51,951 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-09-19 15:50:51,951 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-09-19 15:50:51,951 INFO L133 SettingsManager]: * sizeof long double=12 [2018-09-19 15:50:51,951 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-09-19 15:50:51,951 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-09-19 15:50:51,952 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-09-19 15:50:51,952 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-09-19 15:50:51,952 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-09-19 15:50:51,952 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-09-19 15:50:51,952 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-09-19 15:50:51,952 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-09-19 15:50:51,952 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-09-19 15:50:51,953 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-09-19 15:50:51,953 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-09-19 15:50:51,953 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-09-19 15:50:51,953 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-09-19 15:50:51,953 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-09-19 15:50:51,954 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-09-19 15:50:52,001 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-09-19 15:50:52,018 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-09-19 15:50:52,022 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-09-19 15:50:52,024 INFO L271 PluginConnector]: Initializing CDTParser... [2018-09-19 15:50:52,024 INFO L276 PluginConnector]: CDTParser initialized [2018-09-19 15:50:52,025 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/float-benchs/water_pid_true-unreach-call_true-termination.c [2018-09-19 15:50:52,392 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a0143f8d3/329edfef52b448c6a5e5f83f196cd368/FLAGaf5a2ac1e [2018-09-19 15:50:52,578 INFO L277 CDTParser]: Found 1 translation units. [2018-09-19 15:50:52,579 INFO L159 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/float-benchs/water_pid_true-unreach-call_true-termination.c [2018-09-19 15:50:52,593 INFO L325 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a0143f8d3/329edfef52b448c6a5e5f83f196cd368/FLAGaf5a2ac1e [2018-09-19 15:50:52,610 INFO L333 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a0143f8d3/329edfef52b448c6a5e5f83f196cd368 [2018-09-19 15:50:52,623 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-09-19 15:50:52,626 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2018-09-19 15:50:52,628 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-09-19 15:50:52,628 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-09-19 15:50:52,636 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-09-19 15:50:52,637 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 19.09 03:50:52" (1/1) ... [2018-09-19 15:50:52,640 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4f57d78e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.09 03:50:52, skipping insertion in model container [2018-09-19 15:50:52,641 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 19.09 03:50:52" (1/1) ... [2018-09-19 15:50:52,654 INFO L160 ieTranslatorObserver]: Starting translation in SV-COMP mode [2018-09-19 15:50:52,885 INFO L170 PostProcessor]: Settings: Checked method=main [2018-09-19 15:50:52,908 INFO L424 MainDispatcher]: Starting main dispatcher in SV-COMP mode [2018-09-19 15:50:52,920 INFO L170 PostProcessor]: Settings: Checked method=main [2018-09-19 15:50:52,938 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.09 03:50:52 WrapperNode [2018-09-19 15:50:52,938 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-09-19 15:50:52,939 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-09-19 15:50:52,940 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-09-19 15:50:52,940 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-09-19 15:50:52,955 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.09 03:50:52" (1/1) ... [2018-09-19 15:50:52,955 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.09 03:50:52" (1/1) ... [2018-09-19 15:50:52,965 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.09 03:50:52" (1/1) ... [2018-09-19 15:50:52,965 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.09 03:50:52" (1/1) ... [2018-09-19 15:50:52,969 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.09 03:50:52" (1/1) ... [2018-09-19 15:50:52,974 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.09 03:50:52" (1/1) ... [2018-09-19 15:50:52,976 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.09 03:50:52" (1/1) ... [2018-09-19 15:50:52,980 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-09-19 15:50:52,980 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-09-19 15:50:52,980 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-09-19 15:50:52,981 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-09-19 15:50:52,982 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.09 03:50:52" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-09-19 15:50:53,044 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-09-19 15:50:53,044 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-09-19 15:50:53,044 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-09-19 15:50:53,045 INFO L138 BoogieDeclarations]: Found implementation of procedure y [2018-09-19 15:50:53,045 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-09-19 15:50:53,045 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2018-09-19 15:50:53,045 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-09-19 15:50:53,045 INFO L130 BoogieDeclarations]: Found specification of procedure y [2018-09-19 15:50:53,046 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-09-19 15:50:53,046 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-09-19 15:50:53,046 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-09-19 15:50:56,670 INFO L356 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-09-19 15:50:56,671 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 19.09 03:50:56 BoogieIcfgContainer [2018-09-19 15:50:56,671 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-09-19 15:50:56,672 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-09-19 15:50:56,672 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-09-19 15:50:56,676 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-09-19 15:50:56,677 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 19.09 03:50:52" (1/3) ... [2018-09-19 15:50:56,678 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2c5b5713 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 19.09 03:50:56, skipping insertion in model container [2018-09-19 15:50:56,678 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.09 03:50:52" (2/3) ... [2018-09-19 15:50:56,679 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2c5b5713 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 19.09 03:50:56, skipping insertion in model container [2018-09-19 15:50:56,679 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 19.09 03:50:56" (3/3) ... [2018-09-19 15:50:56,681 INFO L112 eAbstractionObserver]: Analyzing ICFG water_pid_true-unreach-call_true-termination.c [2018-09-19 15:50:56,693 INFO L137 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-09-19 15:50:56,714 INFO L149 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-09-19 15:50:56,785 INFO L130 ementStrategyFactory]: Using default assertion order modulation [2018-09-19 15:50:56,786 INFO L381 AbstractCegarLoop]: Interprodecural is true [2018-09-19 15:50:56,786 INFO L382 AbstractCegarLoop]: Hoare is true [2018-09-19 15:50:56,786 INFO L383 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-09-19 15:50:56,786 INFO L384 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-09-19 15:50:56,786 INFO L385 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-09-19 15:50:56,787 INFO L386 AbstractCegarLoop]: Difference is false [2018-09-19 15:50:56,787 INFO L387 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-09-19 15:50:56,787 INFO L392 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-09-19 15:50:56,808 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states. [2018-09-19 15:50:56,817 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2018-09-19 15:50:56,818 INFO L368 BasicCegarLoop]: Found error trace [2018-09-19 15:50:56,819 INFO L376 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-09-19 15:50:56,822 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-09-19 15:50:56,829 INFO L82 PathProgramCache]: Analyzing trace with hash 220960723, now seen corresponding path program 1 times [2018-09-19 15:50:56,835 INFO L227 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-09-19 15:50:56,836 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat Starting monitored process 2 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with mathsat -unsat_core_generation=3 [2018-09-19 15:50:56,847 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-09-19 15:51:00,678 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-09-19 15:51:00,989 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-09-19 15:51:01,716 WARN L178 SmtUtils]: Spent 333.00 ms on a formula simplification that was a NOOP. DAG size: 10 [2018-09-19 15:51:02,507 WARN L178 SmtUtils]: Spent 450.00 ms on a formula simplification that was a NOOP. DAG size: 12 [2018-09-19 15:51:03,018 WARN L178 SmtUtils]: Spent 124.00 ms on a formula simplification. DAG size of input: 23 DAG size of output: 5 [2018-09-19 15:51:03,265 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-09-19 15:51:03,266 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-09-19 15:51:03,337 INFO L313 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-09-19 15:51:03,338 INFO L328 seRefinementStrategy]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2018-09-19 15:51:03,342 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-09-19 15:51:03,358 INFO L147 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-09-19 15:51:03,359 INFO L148 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=89, Unknown=0, NotChecked=0, Total=110 [2018-09-19 15:51:03,362 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 11 states. [2018-09-19 15:51:04,361 WARN L178 SmtUtils]: Spent 375.00 ms on a formula simplification. DAG size of input: 12 DAG size of output: 10 [2018-09-19 15:51:05,137 WARN L178 SmtUtils]: Spent 215.00 ms on a formula simplification. DAG size of input: 14 DAG size of output: 12 [2018-09-19 15:51:05,643 WARN L178 SmtUtils]: Spent 132.00 ms on a formula simplification. DAG size of input: 19 DAG size of output: 17 [2018-09-19 15:51:17,259 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-09-19 15:51:17,260 INFO L93 Difference]: Finished difference Result 73 states and 85 transitions. [2018-09-19 15:51:17,321 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-09-19 15:51:17,323 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 22 [2018-09-19 15:51:17,324 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-09-19 15:51:17,334 INFO L225 Difference]: With dead ends: 73 [2018-09-19 15:51:17,335 INFO L226 Difference]: Without dead ends: 40 [2018-09-19 15:51:17,339 INFO L606 BasicCegarLoop]: 0 DeclaredPredicates, 26 GetRequests, 11 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 3.4s TimeCoverageRelationStatistics Valid=53, Invalid=187, Unknown=0, NotChecked=0, Total=240 [2018-09-19 15:51:17,360 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2018-09-19 15:51:17,386 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 35. [2018-09-19 15:51:17,388 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 35 states. [2018-09-19 15:51:17,389 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 36 transitions. [2018-09-19 15:51:17,391 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 36 transitions. Word has length 22 [2018-09-19 15:51:17,392 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-09-19 15:51:17,392 INFO L480 AbstractCegarLoop]: Abstraction has 35 states and 36 transitions. [2018-09-19 15:51:17,392 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-09-19 15:51:17,392 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 36 transitions. [2018-09-19 15:51:17,394 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2018-09-19 15:51:17,395 INFO L368 BasicCegarLoop]: Found error trace [2018-09-19 15:51:17,395 INFO L376 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-09-19 15:51:17,395 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-09-19 15:51:17,396 INFO L82 PathProgramCache]: Analyzing trace with hash -1878853563, now seen corresponding path program 1 times [2018-09-19 15:51:17,397 INFO L227 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-09-19 15:51:17,397 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat Starting monitored process 3 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with mathsat -unsat_core_generation=3 [2018-09-19 15:51:17,411 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-09-19 15:51:23,988 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-09-19 15:51:24,511 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-09-19 15:51:25,746 WARN L178 SmtUtils]: Spent 785.00 ms on a formula simplification that was a NOOP. DAG size: 12 [2018-09-19 15:51:25,907 WARN L178 SmtUtils]: Spent 104.00 ms on a formula simplification that was a NOOP. DAG size: 25 [2018-09-19 15:51:27,084 WARN L178 SmtUtils]: Spent 739.00 ms on a formula simplification that was a NOOP. DAG size: 28 [2018-09-19 15:51:46,599 WARN L178 SmtUtils]: Spent 8.56 s on a formula simplification that was a NOOP. DAG size: 27 [2018-09-19 15:51:48,733 WARN L819 $PredicateComparison]: unable to prove that (let ((.cse5 ((_ to_fp 11 53) RNE (_ bv0 32)))) (let ((.cse4 (fp.add RNE .cse5 .cse5))) (and (= c_~ui~0 (let ((.cse0 ((_ to_fp 11 53) RNE (/ 1.0 2.0)))) (fp.mul RNE .cse0 (let ((.cse3 ((_ to_fp 11 53) RNE (_ bv1 32))) (.cse1 (fp.sub RNE .cse0 c_~yn~0)) (.cse2 (fp.sub RNE .cse0 .cse4))) (fp.add RNE (fp.add RNE .cse1 (fp.div RNE (fp.mul RNE (fp.add RNE .cse2 .cse1) .cse3) .cse3)) (fp.mul RNE (fp.div RNE .cse3 .cse3) (fp.sub RNE .cse1 .cse2))))))) (= c_~yn~0 (fp.add RNE .cse4 .cse5))))) is different from true [2018-09-19 15:51:50,889 WARN L797 $PredicateComparison]: unable to prove that (let ((.cse6 ((_ to_fp 11 53) RNE (_ bv0 32))) (.cse3 ((_ to_fp 11 53) RNE (_ bv1 32)))) (let ((.cse0 ((_ to_fp 11 53) RNE (/ 1.0 2.0))) (.cse4 (fp.div RNE .cse3 .cse3)) (.cse5 (fp.add RNE .cse6 .cse6))) (and (= c_main_~yc~0 .cse0) (= c_~ui~0 (fp.mul RNE .cse0 (let ((.cse1 (fp.sub RNE .cse0 c_~yn~0)) (.cse2 (fp.sub RNE .cse0 .cse5))) (fp.add RNE (fp.add RNE .cse1 (fp.div RNE (fp.mul RNE (fp.add RNE .cse2 .cse1) .cse3) .cse3)) (fp.mul RNE .cse4 (fp.sub RNE .cse1 .cse2)))))) (= c_~yn~0 (fp.add RNE .cse5 .cse6)) (= c_~ui~0 (fp.mul RNE .cse0 (let ((.cse7 (fp.sub RNE c_main_~yc~0 c_~yn~0)) (.cse8 (fp.sub RNE c_main_~yc~0 .cse5))) (fp.add RNE (fp.add RNE .cse7 (fp.div RNE (fp.mul RNE (fp.add RNE .cse8 .cse7) .cse3) .cse3)) (fp.mul RNE .cse4 (fp.sub RNE .cse7 .cse8))))))))) is different from false [2018-09-19 15:51:58,354 WARN L178 SmtUtils]: Spent 909.00 ms on a formula simplification that was a NOOP. DAG size: 29 [2018-09-19 15:52:05,697 WARN L178 SmtUtils]: Spent 4.49 s on a formula simplification. DAG size of input: 37 DAG size of output: 26 [2018-09-19 15:52:13,155 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 0 proven. 7 refuted. 1 times theorem prover too weak. 3 trivial. 5 not checked. [2018-09-19 15:52:13,156 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-09-19 15:52:32,041 WARN L178 SmtUtils]: Spent 851.00 ms on a formula simplification that was a NOOP. DAG size: 10 [2018-09-19 15:52:32,677 WARN L178 SmtUtils]: Spent 634.00 ms on a formula simplification that was a NOOP. DAG size: 9 [2018-09-19 15:52:33,621 WARN L178 SmtUtils]: Spent 943.00 ms on a formula simplification that was a NOOP. DAG size: 9 [2018-09-19 15:52:35,565 WARN L178 SmtUtils]: Spent 1.94 s on a formula simplification that was a NOOP. DAG size: 15 [2018-09-19 15:52:37,666 WARN L178 SmtUtils]: Spent 2.10 s on a formula simplification that was a NOOP. DAG size: 13 [2018-09-19 15:53:21,120 WARN L178 SmtUtils]: Spent 7.59 s on a formula simplification that was a NOOP. DAG size: 12 [2018-09-19 15:53:23,208 WARN L819 $PredicateComparison]: unable to prove that (and (forall ((v_main_~yc~0_BEFORE_CALL_7 (_ FloatingPoint 11 53))) (let ((.cse0 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_7 (fp.add RNE |c_old(~yn~0)| c_~ui~0))) (.cse1 ((_ to_fp 11 53) RNE 1.0))) (or (not (fp.leq .cse0 .cse1)) (not (fp.geq .cse0 (fp.neg .cse1))) (fp.leq (fp.sub RNE v_main_~yc~0_BEFORE_CALL_7 |c_y_#res|) .cse1)))) (forall ((v_prenex_1 (_ FloatingPoint 11 53))) (let ((.cse3 ((_ to_fp 11 53) RNE 1.0))) (let ((.cse2 (fp.sub RNE v_prenex_1 (fp.add RNE |c_old(~yn~0)| c_~ui~0))) (.cse4 (fp.neg .cse3))) (or (not (fp.leq .cse2 .cse3)) (not (fp.geq .cse2 .cse4)) (fp.geq (fp.sub RNE v_prenex_1 |c_y_#res|) .cse4)))))) is different from true [2018-09-19 15:53:25,317 WARN L819 $PredicateComparison]: unable to prove that (and (forall ((v_main_~yc~0_BEFORE_CALL_7 (_ FloatingPoint 11 53))) (let ((.cse0 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_7 (fp.add RNE |c_old(~yn~0)| c_~ui~0))) (.cse1 ((_ to_fp 11 53) RNE 1.0))) (or (not (fp.leq .cse0 .cse1)) (not (fp.geq .cse0 (fp.neg .cse1))) (fp.leq (fp.sub RNE v_main_~yc~0_BEFORE_CALL_7 (fp.add RNE c_~yn~0 c_~ui~0)) .cse1)))) (forall ((v_prenex_1 (_ FloatingPoint 11 53))) (let ((.cse4 ((_ to_fp 11 53) RNE 1.0))) (let ((.cse3 (fp.sub RNE v_prenex_1 (fp.add RNE |c_old(~yn~0)| c_~ui~0))) (.cse2 (fp.neg .cse4))) (or (fp.geq (fp.sub RNE v_prenex_1 (fp.add RNE c_~yn~0 c_~ui~0)) .cse2) (not (fp.leq .cse3 .cse4)) (not (fp.geq .cse3 .cse2))))))) is different from true [2018-09-19 15:53:28,384 WARN L797 $PredicateComparison]: unable to prove that (let ((.cse0 (fp.sub RNE c_main_~yc~0 (fp.add RNE c_~yn~0 (fp.mul RNE c_main_~K~0 (let ((.cse2 (fp.sub RNE c_main_~yc~0 |c_main_#t~ret2|))) (fp.add RNE (fp.add RNE .cse2 (fp.div RNE (fp.mul RNE (fp.add RNE c_main_~sumej~0 .cse2) c_main_~T~0) c_main_~taui~0)) (fp.mul RNE (fp.div RNE c_main_~taud~0 c_main_~T~0) (fp.sub RNE .cse2 c_main_~epi~0)))))))) (.cse1 ((_ to_fp 11 53) RNE 1.0))) (and (fp.geq .cse0 (fp.neg .cse1)) (fp.leq .cse0 .cse1))) is different from false [2018-09-19 15:53:31,445 WARN L819 $PredicateComparison]: unable to prove that (let ((.cse0 (fp.sub RNE c_main_~yc~0 (fp.add RNE c_~yn~0 (fp.mul RNE c_main_~K~0 (let ((.cse2 (fp.sub RNE c_main_~yc~0 |c_main_#t~ret2|))) (fp.add RNE (fp.add RNE .cse2 (fp.div RNE (fp.mul RNE (fp.add RNE c_main_~sumej~0 .cse2) c_main_~T~0) c_main_~taui~0)) (fp.mul RNE (fp.div RNE c_main_~taud~0 c_main_~T~0) (fp.sub RNE .cse2 c_main_~epi~0)))))))) (.cse1 ((_ to_fp 11 53) RNE 1.0))) (and (fp.geq .cse0 (fp.neg .cse1)) (fp.leq .cse0 .cse1))) is different from true [2018-09-19 15:53:32,069 WARN L178 SmtUtils]: Spent 622.00 ms on a formula simplification that was a NOOP. DAG size: 9 [2018-09-19 15:53:32,945 WARN L178 SmtUtils]: Spent 875.00 ms on a formula simplification that was a NOOP. DAG size: 9 [2018-09-19 15:53:34,630 WARN L178 SmtUtils]: Spent 1.68 s on a formula simplification that was a NOOP. DAG size: 15 [2018-09-19 15:53:36,301 WARN L178 SmtUtils]: Spent 1.67 s on a formula simplification that was a NOOP. DAG size: 13 [2018-09-19 15:53:39,408 WARN L797 $PredicateComparison]: unable to prove that (let ((.cse0 (fp.sub RNE c_main_~yc~0 (let ((.cse2 (fp.add RNE c_~yn~0 c_~ui~0))) (fp.add RNE .cse2 (fp.mul RNE c_main_~K~0 (let ((.cse3 (fp.sub RNE c_main_~yc~0 .cse2))) (fp.add RNE (fp.add RNE .cse3 (fp.div RNE (fp.mul RNE (fp.add RNE c_main_~sumej~0 .cse3) c_main_~T~0) c_main_~taui~0)) (fp.mul RNE (fp.div RNE c_main_~taud~0 c_main_~T~0) (fp.sub RNE .cse3 c_main_~epi~0))))))))) (.cse1 ((_ to_fp 11 53) RNE 1.0))) (and (fp.geq .cse0 (fp.neg .cse1)) (fp.leq .cse0 .cse1))) is different from false [2018-09-19 15:53:42,501 WARN L819 $PredicateComparison]: unable to prove that (let ((.cse0 (fp.sub RNE c_main_~yc~0 (let ((.cse2 (fp.add RNE c_~yn~0 c_~ui~0))) (fp.add RNE .cse2 (fp.mul RNE c_main_~K~0 (let ((.cse3 (fp.sub RNE c_main_~yc~0 .cse2))) (fp.add RNE (fp.add RNE .cse3 (fp.div RNE (fp.mul RNE (fp.add RNE c_main_~sumej~0 .cse3) c_main_~T~0) c_main_~taui~0)) (fp.mul RNE (fp.div RNE c_main_~taud~0 c_main_~T~0) (fp.sub RNE .cse3 c_main_~epi~0))))))))) (.cse1 ((_ to_fp 11 53) RNE 1.0))) (and (fp.geq .cse0 (fp.neg .cse1)) (fp.leq .cse0 .cse1))) is different from true [2018-09-19 15:53:45,686 WARN L819 $PredicateComparison]: unable to prove that (and (forall ((v_main_~epi~0_BEFORE_CALL_4 (_ FloatingPoint 11 53)) (v_main_~taud~0_BEFORE_CALL_3 (_ FloatingPoint 11 53)) (v_main_~K~0_BEFORE_CALL_3 (_ FloatingPoint 11 53)) (v_main_~taui~0_BEFORE_CALL_3 (_ FloatingPoint 11 53)) (v_main_~sumej~0_BEFORE_CALL_2 (_ FloatingPoint 11 53)) (v_main_~T~0_BEFORE_CALL_3 (_ FloatingPoint 11 53)) (v_main_~yc~0_BEFORE_CALL_9 (_ FloatingPoint 11 53))) (let ((.cse3 (fp.div RNE v_main_~taud~0_BEFORE_CALL_3 v_main_~T~0_BEFORE_CALL_3))) (let ((.cse0 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_9 (let ((.cse4 (fp.add RNE |c_old(~yn~0)| c_~ui~0))) (fp.add RNE .cse4 (fp.mul RNE v_main_~K~0_BEFORE_CALL_3 (let ((.cse5 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_9 .cse4))) (fp.add RNE (fp.add RNE .cse5 (fp.div RNE (fp.mul RNE (fp.add RNE v_main_~sumej~0_BEFORE_CALL_2 .cse5) v_main_~T~0_BEFORE_CALL_3) v_main_~taui~0_BEFORE_CALL_3)) (fp.mul RNE .cse3 (fp.sub RNE .cse5 v_main_~epi~0_BEFORE_CALL_4))))))))) (.cse1 ((_ to_fp 11 53) RNE 1.0))) (or (not (fp.geq .cse0 (fp.neg .cse1))) (not (fp.leq .cse0 .cse1)) (fp.leq (fp.sub RNE v_main_~yc~0_BEFORE_CALL_9 (fp.add RNE c_~yn~0 (fp.mul RNE v_main_~K~0_BEFORE_CALL_3 (let ((.cse2 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_9 |c_y_#res|))) (fp.add RNE (fp.add RNE .cse2 (fp.div RNE (fp.mul RNE (fp.add RNE v_main_~sumej~0_BEFORE_CALL_2 .cse2) v_main_~T~0_BEFORE_CALL_3) v_main_~taui~0_BEFORE_CALL_3)) (fp.mul RNE .cse3 (fp.sub RNE .cse2 v_main_~epi~0_BEFORE_CALL_4))))))) .cse1))))) (forall ((v_prenex_6 (_ FloatingPoint 11 53)) (v_prenex_7 (_ FloatingPoint 11 53)) (v_prenex_4 (_ FloatingPoint 11 53)) (v_prenex_5 (_ FloatingPoint 11 53)) (v_prenex_2 (_ FloatingPoint 11 53)) (v_prenex_3 (_ FloatingPoint 11 53)) (v_prenex_8 (_ FloatingPoint 11 53))) (let ((.cse9 (fp.div RNE v_prenex_3 v_prenex_7)) (.cse10 ((_ to_fp 11 53) RNE 1.0))) (let ((.cse7 (fp.neg .cse10)) (.cse6 (fp.sub RNE v_prenex_8 (let ((.cse11 (fp.add RNE |c_old(~yn~0)| c_~ui~0))) (fp.add RNE .cse11 (fp.mul RNE v_prenex_4 (let ((.cse12 (fp.sub RNE v_prenex_8 .cse11))) (fp.add RNE (fp.add RNE .cse12 (fp.div RNE (fp.mul RNE (fp.add RNE v_prenex_6 .cse12) v_prenex_7) v_prenex_5)) (fp.mul RNE .cse9 (fp.sub RNE .cse12 v_prenex_2)))))))))) (or (not (fp.geq .cse6 .cse7)) (fp.geq (fp.sub RNE v_prenex_8 (fp.add RNE c_~yn~0 (fp.mul RNE v_prenex_4 (let ((.cse8 (fp.sub RNE v_prenex_8 |c_y_#res|))) (fp.add RNE (fp.add RNE .cse8 (fp.div RNE (fp.mul RNE (fp.add RNE v_prenex_6 .cse8) v_prenex_7) v_prenex_5)) (fp.mul RNE .cse9 (fp.sub RNE .cse8 v_prenex_2))))))) .cse7) (not (fp.leq .cse6 .cse10))))))) is different from true [2018-09-19 15:53:48,820 WARN L819 $PredicateComparison]: unable to prove that (and (forall ((v_prenex_6 (_ FloatingPoint 11 53)) (v_prenex_7 (_ FloatingPoint 11 53)) (v_prenex_4 (_ FloatingPoint 11 53)) (v_prenex_5 (_ FloatingPoint 11 53)) (v_prenex_2 (_ FloatingPoint 11 53)) (v_prenex_3 (_ FloatingPoint 11 53)) (v_prenex_8 (_ FloatingPoint 11 53))) (let ((.cse2 (fp.div RNE v_prenex_3 v_prenex_7)) (.cse5 ((_ to_fp 11 53) RNE 1.0))) (let ((.cse3 (fp.neg .cse5)) (.cse4 (fp.sub RNE v_prenex_8 (let ((.cse6 (fp.add RNE |c_old(~yn~0)| c_~ui~0))) (fp.add RNE .cse6 (fp.mul RNE v_prenex_4 (let ((.cse7 (fp.sub RNE v_prenex_8 .cse6))) (fp.add RNE (fp.add RNE .cse7 (fp.div RNE (fp.mul RNE (fp.add RNE v_prenex_6 .cse7) v_prenex_7) v_prenex_5)) (fp.mul RNE .cse2 (fp.sub RNE .cse7 v_prenex_2)))))))))) (or (fp.geq (fp.sub RNE v_prenex_8 (let ((.cse0 (fp.add RNE c_~yn~0 c_~ui~0))) (fp.add RNE .cse0 (fp.mul RNE v_prenex_4 (let ((.cse1 (fp.sub RNE v_prenex_8 .cse0))) (fp.add RNE (fp.add RNE .cse1 (fp.div RNE (fp.mul RNE (fp.add RNE v_prenex_6 .cse1) v_prenex_7) v_prenex_5)) (fp.mul RNE .cse2 (fp.sub RNE .cse1 v_prenex_2)))))))) .cse3) (not (fp.geq .cse4 .cse3)) (not (fp.leq .cse4 .cse5)))))) (forall ((v_main_~epi~0_BEFORE_CALL_4 (_ FloatingPoint 11 53)) (v_main_~taud~0_BEFORE_CALL_3 (_ FloatingPoint 11 53)) (v_main_~K~0_BEFORE_CALL_3 (_ FloatingPoint 11 53)) (v_main_~taui~0_BEFORE_CALL_3 (_ FloatingPoint 11 53)) (v_main_~sumej~0_BEFORE_CALL_2 (_ FloatingPoint 11 53)) (v_main_~T~0_BEFORE_CALL_3 (_ FloatingPoint 11 53)) (v_main_~yc~0_BEFORE_CALL_9 (_ FloatingPoint 11 53))) (let ((.cse12 (fp.div RNE v_main_~taud~0_BEFORE_CALL_3 v_main_~T~0_BEFORE_CALL_3))) (let ((.cse8 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_9 (let ((.cse13 (fp.add RNE |c_old(~yn~0)| c_~ui~0))) (fp.add RNE .cse13 (fp.mul RNE v_main_~K~0_BEFORE_CALL_3 (let ((.cse14 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_9 .cse13))) (fp.add RNE (fp.add RNE .cse14 (fp.div RNE (fp.mul RNE (fp.add RNE v_main_~sumej~0_BEFORE_CALL_2 .cse14) v_main_~T~0_BEFORE_CALL_3) v_main_~taui~0_BEFORE_CALL_3)) (fp.mul RNE .cse12 (fp.sub RNE .cse14 v_main_~epi~0_BEFORE_CALL_4))))))))) (.cse9 ((_ to_fp 11 53) RNE 1.0))) (or (not (fp.geq .cse8 (fp.neg .cse9))) (fp.leq (fp.sub RNE v_main_~yc~0_BEFORE_CALL_9 (let ((.cse10 (fp.add RNE c_~yn~0 c_~ui~0))) (fp.add RNE .cse10 (fp.mul RNE v_main_~K~0_BEFORE_CALL_3 (let ((.cse11 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_9 .cse10))) (fp.add RNE (fp.add RNE .cse11 (fp.div RNE (fp.mul RNE (fp.add RNE v_main_~sumej~0_BEFORE_CALL_2 .cse11) v_main_~T~0_BEFORE_CALL_3) v_main_~taui~0_BEFORE_CALL_3)) (fp.mul RNE .cse12 (fp.sub RNE .cse11 v_main_~epi~0_BEFORE_CALL_4)))))))) .cse9) (not (fp.leq .cse8 .cse9))))))) is different from true [2018-09-19 15:53:51,931 WARN L797 $PredicateComparison]: unable to prove that (let ((.cse0 (fp.sub RNE c_main_~yc~0 (let ((.cse2 (fp.add RNE c_~yn~0 c_~ui~0))) (fp.add RNE .cse2 (fp.mul RNE c_main_~K~0 (let ((.cse3 (fp.sub RNE c_main_~yc~0 .cse2)) (.cse4 (fp.sub RNE c_main_~yc~0 |c_main_#t~ret0|))) (fp.add RNE (fp.add RNE .cse3 (fp.div RNE (fp.mul RNE (fp.add RNE .cse4 .cse3) c_main_~T~0) c_main_~taui~0)) (fp.mul RNE (fp.div RNE c_main_~taud~0 c_main_~T~0) (fp.sub RNE .cse3 .cse4))))))))) (.cse1 ((_ to_fp 11 53) RNE 1.0))) (and (fp.leq .cse0 .cse1) (fp.geq .cse0 (fp.neg .cse1)))) is different from false [2018-09-19 15:53:55,007 WARN L819 $PredicateComparison]: unable to prove that (let ((.cse0 (fp.sub RNE c_main_~yc~0 (let ((.cse2 (fp.add RNE c_~yn~0 c_~ui~0))) (fp.add RNE .cse2 (fp.mul RNE c_main_~K~0 (let ((.cse3 (fp.sub RNE c_main_~yc~0 .cse2)) (.cse4 (fp.sub RNE c_main_~yc~0 |c_main_#t~ret0|))) (fp.add RNE (fp.add RNE .cse3 (fp.div RNE (fp.mul RNE (fp.add RNE .cse4 .cse3) c_main_~T~0) c_main_~taui~0)) (fp.mul RNE (fp.div RNE c_main_~taud~0 c_main_~T~0) (fp.sub RNE .cse3 .cse4))))))))) (.cse1 ((_ to_fp 11 53) RNE 1.0))) (and (fp.leq .cse0 .cse1) (fp.geq .cse0 (fp.neg .cse1)))) is different from true [2018-09-19 15:53:56,155 WARN L178 SmtUtils]: Spent 1.15 s on a formula simplification that was a NOOP. DAG size: 9 [2018-09-19 15:53:56,823 WARN L178 SmtUtils]: Spent 667.00 ms on a formula simplification that was a NOOP. DAG size: 9 [2018-09-19 15:53:58,320 WARN L178 SmtUtils]: Spent 1.50 s on a formula simplification that was a NOOP. DAG size: 15 [2018-09-19 15:53:59,507 WARN L178 SmtUtils]: Spent 1.19 s on a formula simplification that was a NOOP. DAG size: 13 [2018-09-19 15:54:02,639 WARN L797 $PredicateComparison]: unable to prove that (let ((.cse0 (fp.sub RNE c_main_~yc~0 (let ((.cse5 (fp.add RNE c_~yn~0 c_~ui~0))) (let ((.cse2 (fp.add RNE .cse5 c_~ui~0))) (fp.add RNE .cse2 (fp.mul RNE c_main_~K~0 (let ((.cse3 (fp.sub RNE c_main_~yc~0 .cse2)) (.cse4 (fp.sub RNE c_main_~yc~0 .cse5))) (fp.add RNE (fp.add RNE .cse3 (fp.div RNE (fp.mul RNE (fp.add RNE .cse4 .cse3) c_main_~T~0) c_main_~taui~0)) (fp.mul RNE (fp.div RNE c_main_~taud~0 c_main_~T~0) (fp.sub RNE .cse3 .cse4)))))))))) (.cse1 ((_ to_fp 11 53) RNE 1.0))) (and (fp.leq .cse0 .cse1) (fp.geq .cse0 (fp.neg .cse1)))) is different from false [2018-09-19 15:54:05,744 WARN L819 $PredicateComparison]: unable to prove that (let ((.cse0 (fp.sub RNE c_main_~yc~0 (let ((.cse5 (fp.add RNE c_~yn~0 c_~ui~0))) (let ((.cse2 (fp.add RNE .cse5 c_~ui~0))) (fp.add RNE .cse2 (fp.mul RNE c_main_~K~0 (let ((.cse3 (fp.sub RNE c_main_~yc~0 .cse2)) (.cse4 (fp.sub RNE c_main_~yc~0 .cse5))) (fp.add RNE (fp.add RNE .cse3 (fp.div RNE (fp.mul RNE (fp.add RNE .cse4 .cse3) c_main_~T~0) c_main_~taui~0)) (fp.mul RNE (fp.div RNE c_main_~taud~0 c_main_~T~0) (fp.sub RNE .cse3 .cse4)))))))))) (.cse1 ((_ to_fp 11 53) RNE 1.0))) (and (fp.leq .cse0 .cse1) (fp.geq .cse0 (fp.neg .cse1)))) is different from true [2018-09-19 15:54:08,963 WARN L819 $PredicateComparison]: unable to prove that (and (forall ((v_main_~taud~0_BEFORE_CALL_4 (_ FloatingPoint 11 53)) (v_main_~yc~0_BEFORE_CALL_10 (_ FloatingPoint 11 53)) (v_main_~T~0_BEFORE_CALL_4 (_ FloatingPoint 11 53)) (v_main_~taui~0_BEFORE_CALL_4 (_ FloatingPoint 11 53)) (v_main_~K~0_BEFORE_CALL_4 (_ FloatingPoint 11 53))) (let ((.cse5 (fp.div RNE v_main_~taud~0_BEFORE_CALL_4 v_main_~T~0_BEFORE_CALL_4))) (let ((.cse0 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_10 (let ((.cse9 (fp.add RNE |c_old(~yn~0)| c_~ui~0))) (let ((.cse6 (fp.add RNE .cse9 c_~ui~0))) (fp.add RNE .cse6 (fp.mul RNE v_main_~K~0_BEFORE_CALL_4 (let ((.cse7 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_10 .cse6)) (.cse8 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_10 .cse9))) (fp.add RNE (fp.add RNE .cse7 (fp.div RNE (fp.mul RNE (fp.add RNE .cse8 .cse7) v_main_~T~0_BEFORE_CALL_4) v_main_~taui~0_BEFORE_CALL_4)) (fp.mul RNE .cse5 (fp.sub RNE .cse7 .cse8)))))))))) (.cse1 ((_ to_fp 11 53) RNE 1.0))) (or (not (fp.leq .cse0 .cse1)) (fp.leq (fp.sub RNE v_main_~yc~0_BEFORE_CALL_10 (let ((.cse2 (fp.add RNE c_~yn~0 c_~ui~0))) (fp.add RNE .cse2 (fp.mul RNE v_main_~K~0_BEFORE_CALL_4 (let ((.cse3 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_10 .cse2)) (.cse4 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_10 |c_y_#res|))) (fp.add RNE (fp.add RNE .cse3 (fp.div RNE (fp.mul RNE (fp.add RNE .cse4 .cse3) v_main_~T~0_BEFORE_CALL_4) v_main_~taui~0_BEFORE_CALL_4)) (fp.mul RNE .cse5 (fp.sub RNE .cse3 .cse4)))))))) .cse1) (not (fp.geq .cse0 (fp.neg .cse1))))))) (forall ((v_prenex_12 (_ FloatingPoint 11 53)) (v_prenex_11 (_ FloatingPoint 11 53)) (v_prenex_13 (_ FloatingPoint 11 53)) (v_prenex_10 (_ FloatingPoint 11 53)) (v_prenex_9 (_ FloatingPoint 11 53))) (let ((.cse12 ((_ to_fp 11 53) RNE 1.0)) (.cse16 (fp.div RNE v_prenex_9 v_prenex_11))) (let ((.cse10 (fp.sub RNE v_prenex_10 (let ((.cse20 (fp.add RNE |c_old(~yn~0)| c_~ui~0))) (let ((.cse17 (fp.add RNE .cse20 c_~ui~0))) (fp.add RNE .cse17 (fp.mul RNE v_prenex_13 (let ((.cse18 (fp.sub RNE v_prenex_10 .cse17)) (.cse19 (fp.sub RNE v_prenex_10 .cse20))) (fp.add RNE (fp.add RNE .cse18 (fp.div RNE (fp.mul RNE (fp.add RNE .cse19 .cse18) v_prenex_11) v_prenex_12)) (fp.mul RNE .cse16 (fp.sub RNE .cse18 .cse19)))))))))) (.cse11 (fp.neg .cse12))) (or (not (fp.geq .cse10 .cse11)) (not (fp.leq .cse10 .cse12)) (fp.geq (fp.sub RNE v_prenex_10 (let ((.cse13 (fp.add RNE c_~yn~0 c_~ui~0))) (fp.add RNE .cse13 (fp.mul RNE v_prenex_13 (let ((.cse14 (fp.sub RNE v_prenex_10 .cse13)) (.cse15 (fp.sub RNE v_prenex_10 |c_y_#res|))) (fp.add RNE (fp.add RNE .cse14 (fp.div RNE (fp.mul RNE (fp.add RNE .cse15 .cse14) v_prenex_11) v_prenex_12)) (fp.mul RNE .cse16 (fp.sub RNE .cse14 .cse15)))))))) .cse11)))))) is different from true [2018-09-19 15:54:12,134 WARN L819 $PredicateComparison]: unable to prove that (and (forall ((v_prenex_12 (_ FloatingPoint 11 53)) (v_prenex_11 (_ FloatingPoint 11 53)) (v_prenex_13 (_ FloatingPoint 11 53)) (v_prenex_10 (_ FloatingPoint 11 53)) (v_prenex_9 (_ FloatingPoint 11 53))) (let ((.cse5 (fp.div RNE v_prenex_9 v_prenex_11)) (.cse7 ((_ to_fp 11 53) RNE 1.0))) (let ((.cse1 (fp.neg .cse7)) (.cse0 (fp.sub RNE v_prenex_10 (let ((.cse11 (fp.add RNE |c_old(~yn~0)| c_~ui~0))) (let ((.cse8 (fp.add RNE .cse11 c_~ui~0))) (fp.add RNE .cse8 (fp.mul RNE v_prenex_13 (let ((.cse9 (fp.sub RNE v_prenex_10 .cse8)) (.cse10 (fp.sub RNE v_prenex_10 .cse11))) (fp.add RNE (fp.add RNE .cse9 (fp.div RNE (fp.mul RNE (fp.add RNE .cse10 .cse9) v_prenex_11) v_prenex_12)) (fp.mul RNE .cse5 (fp.sub RNE .cse9 .cse10))))))))))) (or (not (fp.geq .cse0 .cse1)) (fp.geq (fp.sub RNE v_prenex_10 (let ((.cse6 (fp.add RNE c_~yn~0 c_~ui~0))) (let ((.cse2 (fp.add RNE .cse6 c_~ui~0))) (fp.add RNE .cse2 (fp.mul RNE v_prenex_13 (let ((.cse3 (fp.sub RNE v_prenex_10 .cse2)) (.cse4 (fp.sub RNE v_prenex_10 .cse6))) (fp.add RNE (fp.add RNE .cse3 (fp.div RNE (fp.mul RNE (fp.add RNE .cse4 .cse3) v_prenex_11) v_prenex_12)) (fp.mul RNE .cse5 (fp.sub RNE .cse3 .cse4))))))))) .cse1) (not (fp.leq .cse0 .cse7)))))) (forall ((v_main_~taud~0_BEFORE_CALL_4 (_ FloatingPoint 11 53)) (v_main_~yc~0_BEFORE_CALL_10 (_ FloatingPoint 11 53)) (v_main_~T~0_BEFORE_CALL_4 (_ FloatingPoint 11 53)) (v_main_~taui~0_BEFORE_CALL_4 (_ FloatingPoint 11 53)) (v_main_~K~0_BEFORE_CALL_4 (_ FloatingPoint 11 53))) (let ((.cse17 (fp.div RNE v_main_~taud~0_BEFORE_CALL_4 v_main_~T~0_BEFORE_CALL_4))) (let ((.cse12 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_10 (let ((.cse22 (fp.add RNE |c_old(~yn~0)| c_~ui~0))) (let ((.cse19 (fp.add RNE .cse22 c_~ui~0))) (fp.add RNE .cse19 (fp.mul RNE v_main_~K~0_BEFORE_CALL_4 (let ((.cse20 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_10 .cse19)) (.cse21 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_10 .cse22))) (fp.add RNE (fp.add RNE .cse20 (fp.div RNE (fp.mul RNE (fp.add RNE .cse21 .cse20) v_main_~T~0_BEFORE_CALL_4) v_main_~taui~0_BEFORE_CALL_4)) (fp.mul RNE .cse17 (fp.sub RNE .cse20 .cse21)))))))))) (.cse13 ((_ to_fp 11 53) RNE 1.0))) (or (not (fp.leq .cse12 .cse13)) (fp.leq (fp.sub RNE v_main_~yc~0_BEFORE_CALL_10 (let ((.cse18 (fp.add RNE c_~yn~0 c_~ui~0))) (let ((.cse14 (fp.add RNE .cse18 c_~ui~0))) (fp.add RNE .cse14 (fp.mul RNE v_main_~K~0_BEFORE_CALL_4 (let ((.cse15 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_10 .cse14)) (.cse16 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_10 .cse18))) (fp.add RNE (fp.add RNE .cse15 (fp.div RNE (fp.mul RNE (fp.add RNE .cse16 .cse15) v_main_~T~0_BEFORE_CALL_4) v_main_~taui~0_BEFORE_CALL_4)) (fp.mul RNE .cse17 (fp.sub RNE .cse15 .cse16))))))))) .cse13) (not (fp.geq .cse12 (fp.neg .cse13)))))))) is different from true [2018-09-19 15:54:14,321 WARN L797 $PredicateComparison]: unable to prove that (let ((.cse0 (let ((.cse2 ((_ to_fp 11 53) RNE (/ 1.0 2.0)))) (fp.sub RNE .cse2 (let ((.cse7 (fp.add RNE c_~yn~0 c_~ui~0))) (let ((.cse3 (fp.add RNE .cse7 c_~ui~0))) (fp.add RNE .cse3 (fp.mul RNE .cse2 (let ((.cse6 ((_ to_fp 11 53) RNE (_ bv1 32))) (.cse4 (fp.sub RNE .cse2 .cse3)) (.cse5 (fp.sub RNE .cse2 .cse7))) (fp.add RNE (fp.add RNE .cse4 (fp.div RNE (fp.mul RNE (fp.add RNE .cse5 .cse4) .cse6) .cse6)) (fp.mul RNE (fp.div RNE .cse6 .cse6) (fp.sub RNE .cse4 .cse5))))))))))) (.cse1 ((_ to_fp 11 53) RNE 1.0))) (and (fp.leq .cse0 .cse1) (fp.geq .cse0 (fp.neg .cse1)))) is different from false [2018-09-19 15:54:16,513 WARN L819 $PredicateComparison]: unable to prove that (let ((.cse0 (let ((.cse2 ((_ to_fp 11 53) RNE (/ 1.0 2.0)))) (fp.sub RNE .cse2 (let ((.cse7 (fp.add RNE c_~yn~0 c_~ui~0))) (let ((.cse3 (fp.add RNE .cse7 c_~ui~0))) (fp.add RNE .cse3 (fp.mul RNE .cse2 (let ((.cse6 ((_ to_fp 11 53) RNE (_ bv1 32))) (.cse4 (fp.sub RNE .cse2 .cse3)) (.cse5 (fp.sub RNE .cse2 .cse7))) (fp.add RNE (fp.add RNE .cse4 (fp.div RNE (fp.mul RNE (fp.add RNE .cse5 .cse4) .cse6) .cse6)) (fp.mul RNE (fp.div RNE .cse6 .cse6) (fp.sub RNE .cse4 .cse5))))))))))) (.cse1 ((_ to_fp 11 53) RNE 1.0))) (and (fp.leq .cse0 .cse1) (fp.geq .cse0 (fp.neg .cse1)))) is different from true [2018-09-19 15:54:16,643 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 13 not checked. [2018-09-19 15:54:16,719 INFO L313 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-09-19 15:54:16,719 INFO L328 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 18] total 34 [2018-09-19 15:54:16,721 INFO L459 AbstractCegarLoop]: Interpolant automaton has 34 states [2018-09-19 15:54:16,722 INFO L147 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2018-09-19 15:54:16,725 INFO L148 InterpolantAutomaton]: CoverageRelationStatistics Valid=81, Invalid=353, Unknown=38, NotChecked=650, Total=1122 [2018-09-19 15:54:16,725 INFO L87 Difference]: Start difference. First operand 35 states and 36 transitions. Second operand 34 states. [2018-09-19 15:54:21,809 WARN L819 $PredicateComparison]: unable to prove that (let ((.cse0 ((_ to_fp 11 53) RNE (_ bv0 32))) (.cse1 (let ((.cse3 ((_ to_fp 11 53) RNE (/ 1.0 2.0)))) (fp.sub RNE .cse3 (let ((.cse8 (fp.add RNE c_~yn~0 c_~ui~0))) (let ((.cse4 (fp.add RNE .cse8 c_~ui~0))) (fp.add RNE .cse4 (fp.mul RNE .cse3 (let ((.cse7 ((_ to_fp 11 53) RNE (_ bv1 32))) (.cse5 (fp.sub RNE .cse3 .cse4)) (.cse6 (fp.sub RNE .cse3 .cse8))) (fp.add RNE (fp.add RNE .cse5 (fp.div RNE (fp.mul RNE (fp.add RNE .cse6 .cse5) .cse7) .cse7)) (fp.mul RNE (fp.div RNE .cse7 .cse7) (fp.sub RNE .cse5 .cse6))))))))))) (.cse2 ((_ to_fp 11 53) RNE 1.0))) (and (= c_~yn~0 .cse0) (= c_~ui~0 .cse0) (fp.leq .cse1 .cse2) (fp.geq .cse1 (fp.neg .cse2)))) is different from true [2018-09-19 15:54:24,092 WARN L797 $PredicateComparison]: unable to prove that (let ((.cse0 ((_ to_fp 11 53) RNE (/ 1.0 2.0))) (.cse4 ((_ to_fp 11 53) RNE (_ bv0 32))) (.cse2 (fp.sub RNE c_main_~yc~0 (let ((.cse8 (fp.add RNE c_~yn~0 c_~ui~0))) (let ((.cse5 (fp.add RNE .cse8 c_~ui~0))) (fp.add RNE .cse5 (fp.mul RNE c_main_~K~0 (let ((.cse6 (fp.sub RNE c_main_~yc~0 .cse5)) (.cse7 (fp.sub RNE c_main_~yc~0 .cse8))) (fp.add RNE (fp.add RNE .cse6 (fp.div RNE (fp.mul RNE (fp.add RNE .cse7 .cse6) c_main_~T~0) c_main_~taui~0)) (fp.mul RNE (fp.div RNE c_main_~taud~0 c_main_~T~0) (fp.sub RNE .cse6 .cse7)))))))))) (.cse3 ((_ to_fp 11 53) RNE 1.0)) (.cse1 ((_ to_fp 11 53) RNE (_ bv1 32)))) (and (= c_main_~yc~0 .cse0) (= .cse1 c_main_~T~0) (= c_main_~K~0 .cse0) (fp.leq .cse2 .cse3) (= c_~yn~0 .cse4) (= c_~ui~0 .cse4) (= .cse1 c_main_~taud~0) (fp.geq .cse2 (fp.neg .cse3)) (= .cse1 c_main_~taui~0))) is different from false [2018-09-19 15:54:27,230 WARN L819 $PredicateComparison]: unable to prove that (let ((.cse0 ((_ to_fp 11 53) RNE (/ 1.0 2.0))) (.cse4 ((_ to_fp 11 53) RNE (_ bv0 32))) (.cse2 (fp.sub RNE c_main_~yc~0 (let ((.cse8 (fp.add RNE c_~yn~0 c_~ui~0))) (let ((.cse5 (fp.add RNE .cse8 c_~ui~0))) (fp.add RNE .cse5 (fp.mul RNE c_main_~K~0 (let ((.cse6 (fp.sub RNE c_main_~yc~0 .cse5)) (.cse7 (fp.sub RNE c_main_~yc~0 .cse8))) (fp.add RNE (fp.add RNE .cse6 (fp.div RNE (fp.mul RNE (fp.add RNE .cse7 .cse6) c_main_~T~0) c_main_~taui~0)) (fp.mul RNE (fp.div RNE c_main_~taud~0 c_main_~T~0) (fp.sub RNE .cse6 .cse7)))))))))) (.cse3 ((_ to_fp 11 53) RNE 1.0)) (.cse1 ((_ to_fp 11 53) RNE (_ bv1 32)))) (and (= c_main_~yc~0 .cse0) (= .cse1 c_main_~T~0) (= c_main_~K~0 .cse0) (fp.leq .cse2 .cse3) (= c_~yn~0 .cse4) (= c_~ui~0 .cse4) (= .cse1 c_main_~taud~0) (fp.geq .cse2 (fp.neg .cse3)) (= .cse1 c_main_~taui~0))) is different from true [2018-09-19 15:54:30,434 WARN L819 $PredicateComparison]: unable to prove that (and (= |c_old(~yn~0)| c_~yn~0) (= c_~ui~0 ((_ to_fp 11 53) RNE (_ bv0 32))) (forall ((v_prenex_12 (_ FloatingPoint 11 53)) (v_prenex_11 (_ FloatingPoint 11 53)) (v_prenex_13 (_ FloatingPoint 11 53)) (v_prenex_10 (_ FloatingPoint 11 53)) (v_prenex_9 (_ FloatingPoint 11 53))) (let ((.cse5 (fp.div RNE v_prenex_9 v_prenex_11)) (.cse7 ((_ to_fp 11 53) RNE 1.0))) (let ((.cse1 (fp.neg .cse7)) (.cse0 (fp.sub RNE v_prenex_10 (let ((.cse11 (fp.add RNE |c_old(~yn~0)| c_~ui~0))) (let ((.cse8 (fp.add RNE .cse11 c_~ui~0))) (fp.add RNE .cse8 (fp.mul RNE v_prenex_13 (let ((.cse9 (fp.sub RNE v_prenex_10 .cse8)) (.cse10 (fp.sub RNE v_prenex_10 .cse11))) (fp.add RNE (fp.add RNE .cse9 (fp.div RNE (fp.mul RNE (fp.add RNE .cse10 .cse9) v_prenex_11) v_prenex_12)) (fp.mul RNE .cse5 (fp.sub RNE .cse9 .cse10))))))))))) (or (not (fp.geq .cse0 .cse1)) (fp.geq (fp.sub RNE v_prenex_10 (let ((.cse6 (fp.add RNE c_~yn~0 c_~ui~0))) (let ((.cse2 (fp.add RNE .cse6 c_~ui~0))) (fp.add RNE .cse2 (fp.mul RNE v_prenex_13 (let ((.cse3 (fp.sub RNE v_prenex_10 .cse2)) (.cse4 (fp.sub RNE v_prenex_10 .cse6))) (fp.add RNE (fp.add RNE .cse3 (fp.div RNE (fp.mul RNE (fp.add RNE .cse4 .cse3) v_prenex_11) v_prenex_12)) (fp.mul RNE .cse5 (fp.sub RNE .cse3 .cse4))))))))) .cse1) (not (fp.leq .cse0 .cse7)))))) (forall ((v_main_~taud~0_BEFORE_CALL_4 (_ FloatingPoint 11 53)) (v_main_~yc~0_BEFORE_CALL_10 (_ FloatingPoint 11 53)) (v_main_~T~0_BEFORE_CALL_4 (_ FloatingPoint 11 53)) (v_main_~taui~0_BEFORE_CALL_4 (_ FloatingPoint 11 53)) (v_main_~K~0_BEFORE_CALL_4 (_ FloatingPoint 11 53))) (let ((.cse17 (fp.div RNE v_main_~taud~0_BEFORE_CALL_4 v_main_~T~0_BEFORE_CALL_4))) (let ((.cse12 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_10 (let ((.cse22 (fp.add RNE |c_old(~yn~0)| c_~ui~0))) (let ((.cse19 (fp.add RNE .cse22 c_~ui~0))) (fp.add RNE .cse19 (fp.mul RNE v_main_~K~0_BEFORE_CALL_4 (let ((.cse20 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_10 .cse19)) (.cse21 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_10 .cse22))) (fp.add RNE (fp.add RNE .cse20 (fp.div RNE (fp.mul RNE (fp.add RNE .cse21 .cse20) v_main_~T~0_BEFORE_CALL_4) v_main_~taui~0_BEFORE_CALL_4)) (fp.mul RNE .cse17 (fp.sub RNE .cse20 .cse21)))))))))) (.cse13 ((_ to_fp 11 53) RNE 1.0))) (or (not (fp.leq .cse12 .cse13)) (fp.leq (fp.sub RNE v_main_~yc~0_BEFORE_CALL_10 (let ((.cse18 (fp.add RNE c_~yn~0 c_~ui~0))) (let ((.cse14 (fp.add RNE .cse18 c_~ui~0))) (fp.add RNE .cse14 (fp.mul RNE v_main_~K~0_BEFORE_CALL_4 (let ((.cse15 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_10 .cse14)) (.cse16 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_10 .cse18))) (fp.add RNE (fp.add RNE .cse15 (fp.div RNE (fp.mul RNE (fp.add RNE .cse16 .cse15) v_main_~T~0_BEFORE_CALL_4) v_main_~taui~0_BEFORE_CALL_4)) (fp.mul RNE .cse17 (fp.sub RNE .cse15 .cse16))))))))) .cse13) (not (fp.geq .cse12 (fp.neg .cse13)))))))) is different from true [2018-09-19 15:54:33,659 WARN L819 $PredicateComparison]: unable to prove that (and (= c_~yn~0 (fp.add RNE |c_old(~yn~0)| c_~ui~0)) (forall ((v_main_~taud~0_BEFORE_CALL_4 (_ FloatingPoint 11 53)) (v_main_~yc~0_BEFORE_CALL_10 (_ FloatingPoint 11 53)) (v_main_~T~0_BEFORE_CALL_4 (_ FloatingPoint 11 53)) (v_main_~taui~0_BEFORE_CALL_4 (_ FloatingPoint 11 53)) (v_main_~K~0_BEFORE_CALL_4 (_ FloatingPoint 11 53))) (let ((.cse5 (fp.div RNE v_main_~taud~0_BEFORE_CALL_4 v_main_~T~0_BEFORE_CALL_4))) (let ((.cse0 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_10 (let ((.cse9 (fp.add RNE |c_old(~yn~0)| c_~ui~0))) (let ((.cse6 (fp.add RNE .cse9 c_~ui~0))) (fp.add RNE .cse6 (fp.mul RNE v_main_~K~0_BEFORE_CALL_4 (let ((.cse7 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_10 .cse6)) (.cse8 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_10 .cse9))) (fp.add RNE (fp.add RNE .cse7 (fp.div RNE (fp.mul RNE (fp.add RNE .cse8 .cse7) v_main_~T~0_BEFORE_CALL_4) v_main_~taui~0_BEFORE_CALL_4)) (fp.mul RNE .cse5 (fp.sub RNE .cse7 .cse8)))))))))) (.cse1 ((_ to_fp 11 53) RNE 1.0))) (or (not (fp.leq .cse0 .cse1)) (fp.leq (fp.sub RNE v_main_~yc~0_BEFORE_CALL_10 (let ((.cse2 (fp.add RNE c_~yn~0 c_~ui~0))) (fp.add RNE .cse2 (fp.mul RNE v_main_~K~0_BEFORE_CALL_4 (let ((.cse3 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_10 .cse2)) (.cse4 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_10 |c_y_#res|))) (fp.add RNE (fp.add RNE .cse3 (fp.div RNE (fp.mul RNE (fp.add RNE .cse4 .cse3) v_main_~T~0_BEFORE_CALL_4) v_main_~taui~0_BEFORE_CALL_4)) (fp.mul RNE .cse5 (fp.sub RNE .cse3 .cse4)))))))) .cse1) (not (fp.geq .cse0 (fp.neg .cse1))))))) (forall ((v_prenex_12 (_ FloatingPoint 11 53)) (v_prenex_11 (_ FloatingPoint 11 53)) (v_prenex_13 (_ FloatingPoint 11 53)) (v_prenex_10 (_ FloatingPoint 11 53)) (v_prenex_9 (_ FloatingPoint 11 53))) (let ((.cse12 ((_ to_fp 11 53) RNE 1.0)) (.cse16 (fp.div RNE v_prenex_9 v_prenex_11))) (let ((.cse10 (fp.sub RNE v_prenex_10 (let ((.cse20 (fp.add RNE |c_old(~yn~0)| c_~ui~0))) (let ((.cse17 (fp.add RNE .cse20 c_~ui~0))) (fp.add RNE .cse17 (fp.mul RNE v_prenex_13 (let ((.cse18 (fp.sub RNE v_prenex_10 .cse17)) (.cse19 (fp.sub RNE v_prenex_10 .cse20))) (fp.add RNE (fp.add RNE .cse18 (fp.div RNE (fp.mul RNE (fp.add RNE .cse19 .cse18) v_prenex_11) v_prenex_12)) (fp.mul RNE .cse16 (fp.sub RNE .cse18 .cse19)))))))))) (.cse11 (fp.neg .cse12))) (or (not (fp.geq .cse10 .cse11)) (not (fp.leq .cse10 .cse12)) (fp.geq (fp.sub RNE v_prenex_10 (let ((.cse13 (fp.add RNE c_~yn~0 c_~ui~0))) (fp.add RNE .cse13 (fp.mul RNE v_prenex_13 (let ((.cse14 (fp.sub RNE v_prenex_10 .cse13)) (.cse15 (fp.sub RNE v_prenex_10 |c_y_#res|))) (fp.add RNE (fp.add RNE .cse14 (fp.div RNE (fp.mul RNE (fp.add RNE .cse15 .cse14) v_prenex_11) v_prenex_12)) (fp.mul RNE .cse16 (fp.sub RNE .cse14 .cse15)))))))) .cse11))))) (= c_~yn~0 |c_y_#res|) (= c_~ui~0 ((_ to_fp 11 53) RNE (_ bv0 32)))) is different from true [2018-09-19 15:54:35,830 WARN L797 $PredicateComparison]: unable to prove that (let ((.cse0 ((_ to_fp 11 53) RNE (/ 1.0 2.0))) (.cse1 ((_ to_fp 11 53) RNE (_ bv0 32))) (.cse3 (fp.sub RNE c_main_~yc~0 (let ((.cse5 (fp.add RNE c_~yn~0 c_~ui~0))) (fp.add RNE .cse5 (fp.mul RNE c_main_~K~0 (let ((.cse6 (fp.sub RNE c_main_~yc~0 .cse5)) (.cse7 (fp.sub RNE c_main_~yc~0 |c_main_#t~ret0|))) (fp.add RNE (fp.add RNE .cse6 (fp.div RNE (fp.mul RNE (fp.add RNE .cse7 .cse6) c_main_~T~0) c_main_~taui~0)) (fp.mul RNE (fp.div RNE c_main_~taud~0 c_main_~T~0) (fp.sub RNE .cse6 .cse7))))))))) (.cse4 ((_ to_fp 11 53) RNE 1.0)) (.cse2 ((_ to_fp 11 53) RNE (_ bv1 32)))) (and (= c_main_~yc~0 .cse0) (= c_~yn~0 (fp.add RNE .cse1 c_~ui~0)) (= .cse2 c_main_~T~0) (= c_main_~K~0 .cse0) (= |c_main_#t~ret0| c_~yn~0) (= c_~ui~0 .cse1) (= .cse2 c_main_~taud~0) (fp.leq .cse3 .cse4) (fp.geq .cse3 (fp.neg .cse4)) (= .cse2 c_main_~taui~0))) is different from false [2018-09-19 15:54:38,997 WARN L819 $PredicateComparison]: unable to prove that (let ((.cse0 ((_ to_fp 11 53) RNE (/ 1.0 2.0))) (.cse1 ((_ to_fp 11 53) RNE (_ bv0 32))) (.cse3 (fp.sub RNE c_main_~yc~0 (let ((.cse5 (fp.add RNE c_~yn~0 c_~ui~0))) (fp.add RNE .cse5 (fp.mul RNE c_main_~K~0 (let ((.cse6 (fp.sub RNE c_main_~yc~0 .cse5)) (.cse7 (fp.sub RNE c_main_~yc~0 |c_main_#t~ret0|))) (fp.add RNE (fp.add RNE .cse6 (fp.div RNE (fp.mul RNE (fp.add RNE .cse7 .cse6) c_main_~T~0) c_main_~taui~0)) (fp.mul RNE (fp.div RNE c_main_~taud~0 c_main_~T~0) (fp.sub RNE .cse6 .cse7))))))))) (.cse4 ((_ to_fp 11 53) RNE 1.0)) (.cse2 ((_ to_fp 11 53) RNE (_ bv1 32)))) (and (= c_main_~yc~0 .cse0) (= c_~yn~0 (fp.add RNE .cse1 c_~ui~0)) (= .cse2 c_main_~T~0) (= c_main_~K~0 .cse0) (= |c_main_#t~ret0| c_~yn~0) (= c_~ui~0 .cse1) (= .cse2 c_main_~taud~0) (fp.leq .cse3 .cse4) (fp.geq .cse3 (fp.neg .cse4)) (= .cse2 c_main_~taui~0))) is different from true [2018-09-19 15:54:41,717 WARN L797 $PredicateComparison]: unable to prove that (let ((.cse0 ((_ to_fp 11 53) RNE (/ 1.0 2.0))) (.cse3 ((_ to_fp 11 53) RNE (_ bv0 32))) (.cse1 (fp.sub RNE c_main_~yc~0 (let ((.cse5 (fp.add RNE c_~yn~0 c_~ui~0))) (fp.add RNE .cse5 (fp.mul RNE c_main_~K~0 (let ((.cse6 (fp.sub RNE c_main_~yc~0 .cse5))) (fp.add RNE (fp.add RNE .cse6 (fp.div RNE (fp.mul RNE (fp.add RNE c_main_~sumej~0 .cse6) c_main_~T~0) c_main_~taui~0)) (fp.mul RNE (fp.div RNE c_main_~taud~0 c_main_~T~0) (fp.sub RNE .cse6 c_main_~epi~0))))))))) (.cse2 ((_ to_fp 11 53) RNE 1.0)) (.cse4 ((_ to_fp 11 53) RNE (_ bv1 32)))) (and (= c_main_~yc~0 .cse0) (fp.geq .cse1 (fp.neg .cse2)) (= c_main_~sumej~0 c_main_~epi~0) (= c_~yn~0 (fp.add RNE .cse3 c_~ui~0)) (= .cse4 c_main_~T~0) (= c_main_~K~0 .cse0) (= (fp.sub RNE c_main_~yc~0 c_~yn~0) c_main_~epi~0) (= c_~ui~0 .cse3) (= .cse4 c_main_~taud~0) (fp.leq .cse1 .cse2) (= .cse4 c_main_~taui~0))) is different from false [2018-09-19 15:54:44,851 WARN L819 $PredicateComparison]: unable to prove that (let ((.cse0 ((_ to_fp 11 53) RNE (/ 1.0 2.0))) (.cse3 ((_ to_fp 11 53) RNE (_ bv0 32))) (.cse1 (fp.sub RNE c_main_~yc~0 (let ((.cse5 (fp.add RNE c_~yn~0 c_~ui~0))) (fp.add RNE .cse5 (fp.mul RNE c_main_~K~0 (let ((.cse6 (fp.sub RNE c_main_~yc~0 .cse5))) (fp.add RNE (fp.add RNE .cse6 (fp.div RNE (fp.mul RNE (fp.add RNE c_main_~sumej~0 .cse6) c_main_~T~0) c_main_~taui~0)) (fp.mul RNE (fp.div RNE c_main_~taud~0 c_main_~T~0) (fp.sub RNE .cse6 c_main_~epi~0))))))))) (.cse2 ((_ to_fp 11 53) RNE 1.0)) (.cse4 ((_ to_fp 11 53) RNE (_ bv1 32)))) (and (= c_main_~yc~0 .cse0) (fp.geq .cse1 (fp.neg .cse2)) (= c_main_~sumej~0 c_main_~epi~0) (= c_~yn~0 (fp.add RNE .cse3 c_~ui~0)) (= .cse4 c_main_~T~0) (= c_main_~K~0 .cse0) (= (fp.sub RNE c_main_~yc~0 c_~yn~0) c_main_~epi~0) (= c_~ui~0 .cse3) (= .cse4 c_main_~taud~0) (fp.leq .cse1 .cse2) (= .cse4 c_main_~taui~0))) is different from true [2018-09-19 15:54:48,015 WARN L819 $PredicateComparison]: unable to prove that (and (forall ((v_prenex_6 (_ FloatingPoint 11 53)) (v_prenex_7 (_ FloatingPoint 11 53)) (v_prenex_4 (_ FloatingPoint 11 53)) (v_prenex_5 (_ FloatingPoint 11 53)) (v_prenex_2 (_ FloatingPoint 11 53)) (v_prenex_3 (_ FloatingPoint 11 53)) (v_prenex_8 (_ FloatingPoint 11 53))) (let ((.cse2 (fp.div RNE v_prenex_3 v_prenex_7)) (.cse5 ((_ to_fp 11 53) RNE 1.0))) (let ((.cse3 (fp.neg .cse5)) (.cse4 (fp.sub RNE v_prenex_8 (let ((.cse6 (fp.add RNE |c_old(~yn~0)| c_~ui~0))) (fp.add RNE .cse6 (fp.mul RNE v_prenex_4 (let ((.cse7 (fp.sub RNE v_prenex_8 .cse6))) (fp.add RNE (fp.add RNE .cse7 (fp.div RNE (fp.mul RNE (fp.add RNE v_prenex_6 .cse7) v_prenex_7) v_prenex_5)) (fp.mul RNE .cse2 (fp.sub RNE .cse7 v_prenex_2)))))))))) (or (fp.geq (fp.sub RNE v_prenex_8 (let ((.cse0 (fp.add RNE c_~yn~0 c_~ui~0))) (fp.add RNE .cse0 (fp.mul RNE v_prenex_4 (let ((.cse1 (fp.sub RNE v_prenex_8 .cse0))) (fp.add RNE (fp.add RNE .cse1 (fp.div RNE (fp.mul RNE (fp.add RNE v_prenex_6 .cse1) v_prenex_7) v_prenex_5)) (fp.mul RNE .cse2 (fp.sub RNE .cse1 v_prenex_2)))))))) .cse3) (not (fp.geq .cse4 .cse3)) (not (fp.leq .cse4 .cse5)))))) (forall ((v_main_~epi~0_BEFORE_CALL_4 (_ FloatingPoint 11 53)) (v_main_~taud~0_BEFORE_CALL_3 (_ FloatingPoint 11 53)) (v_main_~K~0_BEFORE_CALL_3 (_ FloatingPoint 11 53)) (v_main_~taui~0_BEFORE_CALL_3 (_ FloatingPoint 11 53)) (v_main_~sumej~0_BEFORE_CALL_2 (_ FloatingPoint 11 53)) (v_main_~T~0_BEFORE_CALL_3 (_ FloatingPoint 11 53)) (v_main_~yc~0_BEFORE_CALL_9 (_ FloatingPoint 11 53))) (let ((.cse12 (fp.div RNE v_main_~taud~0_BEFORE_CALL_3 v_main_~T~0_BEFORE_CALL_3))) (let ((.cse8 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_9 (let ((.cse13 (fp.add RNE |c_old(~yn~0)| c_~ui~0))) (fp.add RNE .cse13 (fp.mul RNE v_main_~K~0_BEFORE_CALL_3 (let ((.cse14 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_9 .cse13))) (fp.add RNE (fp.add RNE .cse14 (fp.div RNE (fp.mul RNE (fp.add RNE v_main_~sumej~0_BEFORE_CALL_2 .cse14) v_main_~T~0_BEFORE_CALL_3) v_main_~taui~0_BEFORE_CALL_3)) (fp.mul RNE .cse12 (fp.sub RNE .cse14 v_main_~epi~0_BEFORE_CALL_4))))))))) (.cse9 ((_ to_fp 11 53) RNE 1.0))) (or (not (fp.geq .cse8 (fp.neg .cse9))) (fp.leq (fp.sub RNE v_main_~yc~0_BEFORE_CALL_9 (let ((.cse10 (fp.add RNE c_~yn~0 c_~ui~0))) (fp.add RNE .cse10 (fp.mul RNE v_main_~K~0_BEFORE_CALL_3 (let ((.cse11 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_9 .cse10))) (fp.add RNE (fp.add RNE .cse11 (fp.div RNE (fp.mul RNE (fp.add RNE v_main_~sumej~0_BEFORE_CALL_2 .cse11) v_main_~T~0_BEFORE_CALL_3) v_main_~taui~0_BEFORE_CALL_3)) (fp.mul RNE .cse12 (fp.sub RNE .cse11 v_main_~epi~0_BEFORE_CALL_4)))))))) .cse9) (not (fp.leq .cse8 .cse9)))))) (= |c_old(~yn~0)| c_~yn~0) (= c_~ui~0 ((_ to_fp 11 53) RNE (_ bv0 32)))) is different from true [2018-09-19 15:54:51,190 WARN L819 $PredicateComparison]: unable to prove that (and (forall ((v_main_~epi~0_BEFORE_CALL_4 (_ FloatingPoint 11 53)) (v_main_~taud~0_BEFORE_CALL_3 (_ FloatingPoint 11 53)) (v_main_~K~0_BEFORE_CALL_3 (_ FloatingPoint 11 53)) (v_main_~taui~0_BEFORE_CALL_3 (_ FloatingPoint 11 53)) (v_main_~sumej~0_BEFORE_CALL_2 (_ FloatingPoint 11 53)) (v_main_~T~0_BEFORE_CALL_3 (_ FloatingPoint 11 53)) (v_main_~yc~0_BEFORE_CALL_9 (_ FloatingPoint 11 53))) (let ((.cse3 (fp.div RNE v_main_~taud~0_BEFORE_CALL_3 v_main_~T~0_BEFORE_CALL_3))) (let ((.cse0 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_9 (let ((.cse4 (fp.add RNE |c_old(~yn~0)| c_~ui~0))) (fp.add RNE .cse4 (fp.mul RNE v_main_~K~0_BEFORE_CALL_3 (let ((.cse5 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_9 .cse4))) (fp.add RNE (fp.add RNE .cse5 (fp.div RNE (fp.mul RNE (fp.add RNE v_main_~sumej~0_BEFORE_CALL_2 .cse5) v_main_~T~0_BEFORE_CALL_3) v_main_~taui~0_BEFORE_CALL_3)) (fp.mul RNE .cse3 (fp.sub RNE .cse5 v_main_~epi~0_BEFORE_CALL_4))))))))) (.cse1 ((_ to_fp 11 53) RNE 1.0))) (or (not (fp.geq .cse0 (fp.neg .cse1))) (not (fp.leq .cse0 .cse1)) (fp.leq (fp.sub RNE v_main_~yc~0_BEFORE_CALL_9 (fp.add RNE c_~yn~0 (fp.mul RNE v_main_~K~0_BEFORE_CALL_3 (let ((.cse2 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_9 |c_y_#res|))) (fp.add RNE (fp.add RNE .cse2 (fp.div RNE (fp.mul RNE (fp.add RNE v_main_~sumej~0_BEFORE_CALL_2 .cse2) v_main_~T~0_BEFORE_CALL_3) v_main_~taui~0_BEFORE_CALL_3)) (fp.mul RNE .cse3 (fp.sub RNE .cse2 v_main_~epi~0_BEFORE_CALL_4))))))) .cse1))))) (= c_~yn~0 (fp.add RNE |c_old(~yn~0)| c_~ui~0)) (= c_~yn~0 |c_y_#res|) (= c_~ui~0 ((_ to_fp 11 53) RNE (_ bv0 32))) (forall ((v_prenex_6 (_ FloatingPoint 11 53)) (v_prenex_7 (_ FloatingPoint 11 53)) (v_prenex_4 (_ FloatingPoint 11 53)) (v_prenex_5 (_ FloatingPoint 11 53)) (v_prenex_2 (_ FloatingPoint 11 53)) (v_prenex_3 (_ FloatingPoint 11 53)) (v_prenex_8 (_ FloatingPoint 11 53))) (let ((.cse9 (fp.div RNE v_prenex_3 v_prenex_7)) (.cse10 ((_ to_fp 11 53) RNE 1.0))) (let ((.cse7 (fp.neg .cse10)) (.cse6 (fp.sub RNE v_prenex_8 (let ((.cse11 (fp.add RNE |c_old(~yn~0)| c_~ui~0))) (fp.add RNE .cse11 (fp.mul RNE v_prenex_4 (let ((.cse12 (fp.sub RNE v_prenex_8 .cse11))) (fp.add RNE (fp.add RNE .cse12 (fp.div RNE (fp.mul RNE (fp.add RNE v_prenex_6 .cse12) v_prenex_7) v_prenex_5)) (fp.mul RNE .cse9 (fp.sub RNE .cse12 v_prenex_2)))))))))) (or (not (fp.geq .cse6 .cse7)) (fp.geq (fp.sub RNE v_prenex_8 (fp.add RNE c_~yn~0 (fp.mul RNE v_prenex_4 (let ((.cse8 (fp.sub RNE v_prenex_8 |c_y_#res|))) (fp.add RNE (fp.add RNE .cse8 (fp.div RNE (fp.mul RNE (fp.add RNE v_prenex_6 .cse8) v_prenex_7) v_prenex_5)) (fp.mul RNE .cse9 (fp.sub RNE .cse8 v_prenex_2))))))) .cse7) (not (fp.leq .cse6 .cse10))))))) is different from true [2018-09-19 15:54:55,780 WARN L819 $PredicateComparison]: unable to prove that (let ((.cse5 ((_ to_fp 11 53) RNE (_ bv0 32)))) (let ((.cse3 (fp.sub RNE c_main_~yc~0 (fp.add RNE c_~yn~0 (fp.mul RNE c_main_~K~0 (let ((.cse6 (fp.sub RNE c_main_~yc~0 |c_main_#t~ret2|))) (fp.add RNE (fp.add RNE .cse6 (fp.div RNE (fp.mul RNE (fp.add RNE c_main_~sumej~0 .cse6) c_main_~T~0) c_main_~taui~0)) (fp.mul RNE (fp.div RNE c_main_~taud~0 c_main_~T~0) (fp.sub RNE .cse6 c_main_~epi~0)))))))) (.cse4 ((_ to_fp 11 53) RNE 1.0)) (.cse1 (fp.add RNE .cse5 .cse5)) (.cse0 ((_ to_fp 11 53) RNE (/ 1.0 2.0))) (.cse2 ((_ to_fp 11 53) RNE (_ bv1 32)))) (and (= c_main_~yc~0 .cse0) (= c_main_~sumej~0 c_main_~epi~0) (= (fp.sub RNE c_main_~yc~0 .cse1) c_main_~epi~0) (= .cse2 c_main_~T~0) (fp.geq .cse3 (fp.neg .cse4)) (fp.leq .cse3 .cse4) (= c_~yn~0 (fp.add RNE .cse1 .cse5)) (= c_main_~K~0 .cse0) (= |c_main_#t~ret2| c_~yn~0) (= .cse2 c_main_~taud~0) (= .cse2 c_main_~taui~0)))) is different from true [2018-09-19 15:55:00,429 WARN L819 $PredicateComparison]: unable to prove that (let ((.cse8 ((_ to_fp 11 53) RNE (_ bv0 32)))) (let ((.cse0 ((_ to_fp 11 53) RNE (/ 1.0 2.0))) (.cse7 (fp.add RNE .cse8 .cse8)) (.cse3 ((_ to_fp 11 53) RNE (_ bv1 32)))) (let ((.cse4 (fp.div RNE .cse3 .cse3)) (.cse2 (fp.sub RNE .cse0 .cse7)) (.cse6 (fp.add RNE .cse7 .cse8))) (and (= c_~ui~0 (fp.mul RNE .cse0 (let ((.cse1 (fp.sub RNE .cse0 c_~yn~0))) (fp.add RNE (fp.add RNE .cse1 (fp.div RNE (fp.mul RNE (fp.add RNE .cse2 .cse1) .cse3) .cse3)) (fp.mul RNE .cse4 (fp.sub RNE .cse1 .cse2)))))) (= c_~ui~0 (fp.mul RNE .cse0 (let ((.cse5 (fp.sub RNE .cse0 .cse6))) (fp.add RNE (fp.add RNE .cse5 (fp.div RNE (fp.mul RNE (fp.add RNE .cse2 .cse5) .cse3) .cse3)) (fp.mul RNE .cse4 (fp.sub RNE .cse5 .cse2)))))) (= c_~yn~0 .cse6) (= |c_old(~yn~0)| c_~yn~0))))) is different from true [2018-09-19 15:55:02,619 WARN L797 $PredicateComparison]: unable to prove that (let ((.cse8 ((_ to_fp 11 53) RNE (_ bv0 32))) (.cse5 ((_ to_fp 11 53) RNE (_ bv1 32)))) (let ((.cse1 (fp.sub RNE c_main_~yc~0 (fp.add RNE c_~yn~0 c_~ui~0))) (.cse2 ((_ to_fp 11 53) RNE 1.0)) (.cse0 ((_ to_fp 11 53) RNE (/ 1.0 2.0))) (.cse6 (fp.div RNE .cse5 .cse5)) (.cse7 (fp.add RNE .cse8 .cse8))) (and (= c_main_~yc~0 .cse0) (fp.leq .cse1 .cse2) (= c_~ui~0 (fp.mul RNE .cse0 (let ((.cse3 (fp.sub RNE .cse0 c_~yn~0)) (.cse4 (fp.sub RNE .cse0 .cse7))) (fp.add RNE (fp.add RNE .cse3 (fp.div RNE (fp.mul RNE (fp.add RNE .cse4 .cse3) .cse5) .cse5)) (fp.mul RNE .cse6 (fp.sub RNE .cse3 .cse4)))))) (= c_~yn~0 (fp.add RNE .cse7 .cse8)) (fp.geq .cse1 (fp.neg .cse2)) (= c_~ui~0 (fp.mul RNE .cse0 (let ((.cse9 (fp.sub RNE c_main_~yc~0 c_~yn~0)) (.cse10 (fp.sub RNE c_main_~yc~0 .cse7))) (fp.add RNE (fp.add RNE .cse9 (fp.div RNE (fp.mul RNE (fp.add RNE .cse10 .cse9) .cse5) .cse5)) (fp.mul RNE .cse6 (fp.sub RNE .cse9 .cse10))))))))) is different from false [2018-09-19 15:55:04,760 WARN L819 $PredicateComparison]: unable to prove that (let ((.cse8 ((_ to_fp 11 53) RNE (_ bv0 32))) (.cse5 ((_ to_fp 11 53) RNE (_ bv1 32)))) (let ((.cse1 (fp.sub RNE c_main_~yc~0 (fp.add RNE c_~yn~0 c_~ui~0))) (.cse2 ((_ to_fp 11 53) RNE 1.0)) (.cse0 ((_ to_fp 11 53) RNE (/ 1.0 2.0))) (.cse6 (fp.div RNE .cse5 .cse5)) (.cse7 (fp.add RNE .cse8 .cse8))) (and (= c_main_~yc~0 .cse0) (fp.leq .cse1 .cse2) (= c_~ui~0 (fp.mul RNE .cse0 (let ((.cse3 (fp.sub RNE .cse0 c_~yn~0)) (.cse4 (fp.sub RNE .cse0 .cse7))) (fp.add RNE (fp.add RNE .cse3 (fp.div RNE (fp.mul RNE (fp.add RNE .cse4 .cse3) .cse5) .cse5)) (fp.mul RNE .cse6 (fp.sub RNE .cse3 .cse4)))))) (= c_~yn~0 (fp.add RNE .cse7 .cse8)) (fp.geq .cse1 (fp.neg .cse2)) (= c_~ui~0 (fp.mul RNE .cse0 (let ((.cse9 (fp.sub RNE c_main_~yc~0 c_~yn~0)) (.cse10 (fp.sub RNE c_main_~yc~0 .cse7))) (fp.add RNE (fp.add RNE .cse9 (fp.div RNE (fp.mul RNE (fp.add RNE .cse10 .cse9) .cse5) .cse5)) (fp.mul RNE .cse6 (fp.sub RNE .cse9 .cse10))))))))) is different from true [2018-09-19 15:55:06,842 WARN L819 $PredicateComparison]: unable to prove that (and (= c_~ui~0 (let ((.cse0 ((_ to_fp 11 53) RNE (/ 1.0 2.0)))) (fp.mul RNE .cse0 (let ((.cse5 ((_ to_fp 11 53) RNE (_ bv0 32)))) (let ((.cse4 (fp.add RNE .cse5 .cse5))) (let ((.cse3 ((_ to_fp 11 53) RNE (_ bv1 32))) (.cse1 (fp.sub RNE .cse0 (fp.add RNE .cse4 .cse5))) (.cse2 (fp.sub RNE .cse0 .cse4))) (fp.add RNE (fp.add RNE .cse1 (fp.div RNE (fp.mul RNE (fp.add RNE .cse2 .cse1) .cse3) .cse3)) (fp.mul RNE (fp.div RNE .cse3 .cse3) (fp.sub RNE .cse1 .cse2))))))))) (forall ((v_main_~yc~0_BEFORE_CALL_7 (_ FloatingPoint 11 53))) (let ((.cse6 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_7 (fp.add RNE |c_old(~yn~0)| c_~ui~0))) (.cse7 ((_ to_fp 11 53) RNE 1.0))) (or (not (fp.leq .cse6 .cse7)) (not (fp.geq .cse6 (fp.neg .cse7))) (fp.leq (fp.sub RNE v_main_~yc~0_BEFORE_CALL_7 (fp.add RNE c_~yn~0 c_~ui~0)) .cse7)))) (= |c_old(~yn~0)| c_~yn~0) (forall ((v_prenex_1 (_ FloatingPoint 11 53))) (let ((.cse10 ((_ to_fp 11 53) RNE 1.0))) (let ((.cse9 (fp.sub RNE v_prenex_1 (fp.add RNE |c_old(~yn~0)| c_~ui~0))) (.cse8 (fp.neg .cse10))) (or (fp.geq (fp.sub RNE v_prenex_1 (fp.add RNE c_~yn~0 c_~ui~0)) .cse8) (not (fp.leq .cse9 .cse10)) (not (fp.geq .cse9 .cse8))))))) is different from true [2018-09-19 15:55:09,163 WARN L819 $PredicateComparison]: unable to prove that (and (= c_~yn~0 (fp.add RNE |c_old(~yn~0)| c_~ui~0)) (forall ((v_main_~yc~0_BEFORE_CALL_7 (_ FloatingPoint 11 53))) (let ((.cse0 (fp.sub RNE v_main_~yc~0_BEFORE_CALL_7 (fp.add RNE |c_old(~yn~0)| c_~ui~0))) (.cse1 ((_ to_fp 11 53) RNE 1.0))) (or (not (fp.leq .cse0 .cse1)) (not (fp.geq .cse0 (fp.neg .cse1))) (fp.leq (fp.sub RNE v_main_~yc~0_BEFORE_CALL_7 |c_y_#res|) .cse1)))) (forall ((v_prenex_1 (_ FloatingPoint 11 53))) (let ((.cse3 ((_ to_fp 11 53) RNE 1.0))) (let ((.cse2 (fp.sub RNE v_prenex_1 (fp.add RNE |c_old(~yn~0)| c_~ui~0))) (.cse4 (fp.neg .cse3))) (or (not (fp.leq .cse2 .cse3)) (not (fp.geq .cse2 .cse4)) (fp.geq (fp.sub RNE v_prenex_1 |c_y_#res|) .cse4))))) (= c_~ui~0 (let ((.cse5 ((_ to_fp 11 53) RNE (/ 1.0 2.0)))) (fp.mul RNE .cse5 (let ((.cse10 ((_ to_fp 11 53) RNE (_ bv0 32)))) (let ((.cse9 (fp.add RNE .cse10 .cse10))) (let ((.cse8 ((_ to_fp 11 53) RNE (_ bv1 32))) (.cse6 (fp.sub RNE .cse5 (fp.add RNE .cse9 .cse10))) (.cse7 (fp.sub RNE .cse5 .cse9))) (fp.add RNE (fp.add RNE .cse6 (fp.div RNE (fp.mul RNE (fp.add RNE .cse7 .cse6) .cse8) .cse8)) (fp.mul RNE (fp.div RNE .cse8 .cse8) (fp.sub RNE .cse6 .cse7))))))))) (= c_~yn~0 |c_y_#res|)) is different from true [2018-09-19 15:55:41,296 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-09-19 15:55:41,296 INFO L93 Difference]: Finished difference Result 58 states and 59 transitions. [2018-09-19 15:55:41,300 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2018-09-19 15:55:41,300 INFO L78 Accepts]: Start accepts. Automaton has 34 states. Word has length 35 [2018-09-19 15:55:41,301 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-09-19 15:55:41,302 INFO L225 Difference]: With dead ends: 58 [2018-09-19 15:55:41,303 INFO L226 Difference]: Without dead ends: 56 [2018-09-19 15:55:41,309 INFO L606 BasicCegarLoop]: 0 DeclaredPredicates, 84 GetRequests, 36 SyntacticMatches, 2 SemanticMatches, 46 ConstructedPredicates, 26 IntricatePredicates, 0 DeprecatedPredicates, 60 ImplicationChecksByTransitivity, 206.8s TimeCoverageRelationStatistics Valid=113, Invalid=398, Unknown=55, NotChecked=1690, Total=2256 [2018-09-19 15:55:41,310 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2018-09-19 15:55:41,336 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 51. [2018-09-19 15:55:41,337 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 51 states. [2018-09-19 15:55:41,338 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 51 transitions. [2018-09-19 15:55:41,339 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 51 transitions. Word has length 35 [2018-09-19 15:55:41,339 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-09-19 15:55:41,339 INFO L480 AbstractCegarLoop]: Abstraction has 51 states and 51 transitions. [2018-09-19 15:55:41,340 INFO L481 AbstractCegarLoop]: Interpolant automaton has 34 states. [2018-09-19 15:55:41,340 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 51 transitions. [2018-09-19 15:55:41,341 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2018-09-19 15:55:41,341 INFO L368 BasicCegarLoop]: Found error trace [2018-09-19 15:55:41,342 INFO L376 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-09-19 15:55:41,342 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-09-19 15:55:41,342 INFO L82 PathProgramCache]: Analyzing trace with hash 1659592979, now seen corresponding path program 2 times [2018-09-19 15:55:41,343 INFO L227 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-09-19 15:55:41,343 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat Starting monitored process 4 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with mathsat -unsat_core_generation=3 [2018-09-19 15:55:41,349 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 Received shutdown request... Cannot interrupt operation gracefully because timeout expired. Forcing shutdown