/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/nla-digbench/fermat2.c -------------------------------------------------------------------------------- This is Ultimate 0.1.25-267fbe0 [2020-07-17 22:52:41,533 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-17 22:52:41,536 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-17 22:52:41,550 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-17 22:52:41,551 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-17 22:52:41,552 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-17 22:52:41,553 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-17 22:52:41,555 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-17 22:52:41,557 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-17 22:52:41,558 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-17 22:52:41,559 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-17 22:52:41,561 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-17 22:52:41,561 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-17 22:52:41,562 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-17 22:52:41,563 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-17 22:52:41,564 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-17 22:52:41,565 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-17 22:52:41,566 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-17 22:52:41,568 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-17 22:52:41,570 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-17 22:52:41,572 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-17 22:52:41,573 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-17 22:52:41,574 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-17 22:52:41,575 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-17 22:52:41,578 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-17 22:52:41,578 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-17 22:52:41,578 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-17 22:52:41,579 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-17 22:52:41,580 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-17 22:52:41,581 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-17 22:52:41,581 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-17 22:52:41,582 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-17 22:52:41,583 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-17 22:52:41,584 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-17 22:52:41,585 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-17 22:52:41,585 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-17 22:52:41,586 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-17 22:52:41,586 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-17 22:52:41,586 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-17 22:52:41,587 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-17 22:52:41,588 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-17 22:52:41,589 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2020-07-17 22:52:41,605 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-17 22:52:41,606 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-17 22:52:41,607 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-07-17 22:52:41,608 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2020-07-17 22:52:41,608 INFO L138 SettingsManager]: * Use SBE=true [2020-07-17 22:52:41,608 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-17 22:52:41,608 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-17 22:52:41,609 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-17 22:52:41,609 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-17 22:52:41,609 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-17 22:52:41,609 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-17 22:52:41,609 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-17 22:52:41,610 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-17 22:52:41,610 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-17 22:52:41,610 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-17 22:52:41,610 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-17 22:52:41,610 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-17 22:52:41,611 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-17 22:52:41,611 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-07-17 22:52:41,611 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-17 22:52:41,611 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-17 22:52:41,611 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-17 22:52:41,612 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-17 22:52:41,612 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2020-07-17 22:52:41,612 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2020-07-17 22:52:41,612 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2020-07-17 22:52:41,613 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2020-07-17 22:52:41,613 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-17 22:52:41,613 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2020-07-17 22:52:41,613 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2020-07-17 22:52:41,941 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-17 22:52:41,961 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-17 22:52:41,965 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-17 22:52:41,966 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-17 22:52:41,966 INFO L275 PluginConnector]: CDTParser initialized [2020-07-17 22:52:41,967 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench/fermat2.c [2020-07-17 22:52:42,038 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f0537bfc6/e0c50939b5f0420fbe5e56e72b324ff4/FLAG9177d3dda [2020-07-17 22:52:42,551 INFO L306 CDTParser]: Found 1 translation units. [2020-07-17 22:52:42,552 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench/fermat2.c [2020-07-17 22:52:42,562 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f0537bfc6/e0c50939b5f0420fbe5e56e72b324ff4/FLAG9177d3dda [2020-07-17 22:52:42,873 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f0537bfc6/e0c50939b5f0420fbe5e56e72b324ff4 [2020-07-17 22:52:42,884 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-17 22:52:42,888 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-17 22:52:42,889 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-17 22:52:42,890 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-17 22:52:42,894 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-17 22:52:42,896 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.07 10:52:42" (1/1) ... [2020-07-17 22:52:42,900 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@106af91f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:52:42, skipping insertion in model container [2020-07-17 22:52:42,900 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.07 10:52:42" (1/1) ... [2020-07-17 22:52:42,910 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-17 22:52:42,936 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-17 22:52:43,166 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-17 22:52:43,171 INFO L203 MainTranslator]: Completed pre-run [2020-07-17 22:52:43,197 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-17 22:52:43,213 INFO L208 MainTranslator]: Completed translation [2020-07-17 22:52:43,214 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:52:43 WrapperNode [2020-07-17 22:52:43,214 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-17 22:52:43,215 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-17 22:52:43,215 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-17 22:52:43,215 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-17 22:52:43,329 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:52:43" (1/1) ... [2020-07-17 22:52:43,329 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:52:43" (1/1) ... [2020-07-17 22:52:43,338 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:52:43" (1/1) ... [2020-07-17 22:52:43,338 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:52:43" (1/1) ... [2020-07-17 22:52:43,346 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:52:43" (1/1) ... [2020-07-17 22:52:43,353 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:52:43" (1/1) ... [2020-07-17 22:52:43,354 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:52:43" (1/1) ... [2020-07-17 22:52:43,356 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-17 22:52:43,357 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-17 22:52:43,357 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-17 22:52:43,357 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-17 22:52:43,358 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:52:43" (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 [2020-07-17 22:52:43,424 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-17 22:52:43,424 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-17 22:52:43,424 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2020-07-17 22:52:43,424 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2020-07-17 22:52:43,425 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-17 22:52:43,425 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-17 22:52:43,425 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_double [2020-07-17 22:52:43,425 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2020-07-17 22:52:43,425 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2020-07-17 22:52:43,426 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2020-07-17 22:52:43,426 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-17 22:52:43,426 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-17 22:52:43,426 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-17 22:52:43,750 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-17 22:52:43,750 INFO L295 CfgBuilder]: Removed 1 assume(true) statements. [2020-07-17 22:52:43,757 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 17.07 10:52:43 BoogieIcfgContainer [2020-07-17 22:52:43,757 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-17 22:52:43,759 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-17 22:52:43,759 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-17 22:52:43,764 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-17 22:52:43,764 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 17.07 10:52:42" (1/3) ... [2020-07-17 22:52:43,765 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@37945293 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 17.07 10:52:43, skipping insertion in model container [2020-07-17 22:52:43,766 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:52:43" (2/3) ... [2020-07-17 22:52:43,766 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@37945293 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 17.07 10:52:43, skipping insertion in model container [2020-07-17 22:52:43,766 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 17.07 10:52:43" (3/3) ... [2020-07-17 22:52:43,769 INFO L109 eAbstractionObserver]: Analyzing ICFG fermat2.c [2020-07-17 22:52:43,783 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2020-07-17 22:52:43,793 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-17 22:52:43,816 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-17 22:52:43,876 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-17 22:52:43,876 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-17 22:52:43,876 INFO L377 AbstractCegarLoop]: Compute interpolants for FPandBP [2020-07-17 22:52:43,876 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-17 22:52:43,882 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-17 22:52:43,883 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-17 22:52:43,883 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-17 22:52:43,883 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-17 22:52:43,902 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states. [2020-07-17 22:52:43,909 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2020-07-17 22:52:43,909 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:52:43,910 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:52:43,911 INFO L427 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:52:43,915 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:52:43,916 INFO L82 PathProgramCache]: Analyzing trace with hash -849943384, now seen corresponding path program 1 times [2020-07-17 22:52:43,924 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:52:43,924 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2033330972] [2020-07-17 22:52:43,925 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:52:43,991 ERROR L271 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2020-07-17 22:52:43,992 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1982705809] [2020-07-17 22:52:43,992 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:52:44,036 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:44,039 INFO L264 TraceCheckSpWp]: Trace formula consists of 45 conjuncts, 1 conjunts are in the unsatisfiable core [2020-07-17 22:52:44,063 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:44,070 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:52:44,137 INFO L263 TraceCheckUtils]: 0: Hoare triple {31#true} call ULTIMATE.init(); {31#true} is VALID [2020-07-17 22:52:44,138 INFO L280 TraceCheckUtils]: 1: Hoare triple {31#true} assume true; {31#true} is VALID [2020-07-17 22:52:44,138 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {31#true} {31#true} #55#return; {31#true} is VALID [2020-07-17 22:52:44,139 INFO L263 TraceCheckUtils]: 3: Hoare triple {31#true} call #t~ret2 := main(); {31#true} is VALID [2020-07-17 22:52:44,139 INFO L280 TraceCheckUtils]: 4: Hoare triple {31#true} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;~A~0 := ~convertDOUBLEToINT(#t~nondet0);havoc #t~nondet0;~R~0 := ~convertDOUBLEToINT(#t~nondet1);havoc #t~nondet1; {31#true} is VALID [2020-07-17 22:52:44,140 INFO L263 TraceCheckUtils]: 5: Hoare triple {31#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {31#true} is VALID [2020-07-17 22:52:44,140 INFO L280 TraceCheckUtils]: 6: Hoare triple {31#true} ~cond := #in~cond; {31#true} is VALID [2020-07-17 22:52:44,142 INFO L280 TraceCheckUtils]: 7: Hoare triple {31#true} assume 0 == ~cond;assume false; {32#false} is VALID [2020-07-17 22:52:44,142 INFO L280 TraceCheckUtils]: 8: Hoare triple {32#false} assume true; {32#false} is VALID [2020-07-17 22:52:44,143 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {32#false} {31#true} #59#return; {32#false} is VALID [2020-07-17 22:52:44,143 INFO L263 TraceCheckUtils]: 10: Hoare triple {32#false} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {32#false} is VALID [2020-07-17 22:52:44,143 INFO L280 TraceCheckUtils]: 11: Hoare triple {32#false} ~cond := #in~cond; {32#false} is VALID [2020-07-17 22:52:44,144 INFO L280 TraceCheckUtils]: 12: Hoare triple {32#false} assume 0 == ~cond;assume false; {32#false} is VALID [2020-07-17 22:52:44,144 INFO L280 TraceCheckUtils]: 13: Hoare triple {32#false} assume true; {32#false} is VALID [2020-07-17 22:52:44,145 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {32#false} {32#false} #61#return; {32#false} is VALID [2020-07-17 22:52:44,145 INFO L280 TraceCheckUtils]: 15: Hoare triple {32#false} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {32#false} is VALID [2020-07-17 22:52:44,145 INFO L280 TraceCheckUtils]: 16: Hoare triple {32#false} assume !true; {32#false} is VALID [2020-07-17 22:52:44,146 INFO L263 TraceCheckUtils]: 17: Hoare triple {32#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {32#false} is VALID [2020-07-17 22:52:44,146 INFO L280 TraceCheckUtils]: 18: Hoare triple {32#false} ~cond := #in~cond; {32#false} is VALID [2020-07-17 22:52:44,146 INFO L280 TraceCheckUtils]: 19: Hoare triple {32#false} assume 0 == ~cond; {32#false} is VALID [2020-07-17 22:52:44,147 INFO L280 TraceCheckUtils]: 20: Hoare triple {32#false} assume !false; {32#false} is VALID [2020-07-17 22:52:44,151 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2020-07-17 22:52:44,152 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2033330972] [2020-07-17 22:52:44,152 WARN L333 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: Unknown [2020-07-17 22:52:44,152 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1982705809] [2020-07-17 22:52:44,153 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:52:44,154 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2020-07-17 22:52:44,155 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1478743822] [2020-07-17 22:52:44,161 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 21 [2020-07-17 22:52:44,164 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:52:44,168 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2020-07-17 22:52:44,238 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:52:44,238 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2020-07-17 22:52:44,239 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:52:44,247 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2020-07-17 22:52:44,249 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2020-07-17 22:52:44,252 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 2 states. [2020-07-17 22:52:44,348 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:52:44,348 INFO L93 Difference]: Finished difference Result 50 states and 67 transitions. [2020-07-17 22:52:44,349 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2020-07-17 22:52:44,349 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 21 [2020-07-17 22:52:44,349 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:52:44,351 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2020-07-17 22:52:44,361 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 67 transitions. [2020-07-17 22:52:44,361 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2020-07-17 22:52:44,367 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 67 transitions. [2020-07-17 22:52:44,367 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 67 transitions. [2020-07-17 22:52:44,477 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:52:44,489 INFO L225 Difference]: With dead ends: 50 [2020-07-17 22:52:44,489 INFO L226 Difference]: Without dead ends: 23 [2020-07-17 22:52:44,493 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2020-07-17 22:52:44,513 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 23 states. [2020-07-17 22:52:44,539 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 23 to 23. [2020-07-17 22:52:44,539 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:52:44,540 INFO L82 GeneralOperation]: Start isEquivalent. First operand 23 states. Second operand 23 states. [2020-07-17 22:52:44,541 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand 23 states. [2020-07-17 22:52:44,541 INFO L87 Difference]: Start difference. First operand 23 states. Second operand 23 states. [2020-07-17 22:52:44,547 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:52:44,548 INFO L93 Difference]: Finished difference Result 23 states and 26 transitions. [2020-07-17 22:52:44,548 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 26 transitions. [2020-07-17 22:52:44,549 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:52:44,550 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:52:44,550 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand 23 states. [2020-07-17 22:52:44,550 INFO L87 Difference]: Start difference. First operand 23 states. Second operand 23 states. [2020-07-17 22:52:44,556 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:52:44,556 INFO L93 Difference]: Finished difference Result 23 states and 26 transitions. [2020-07-17 22:52:44,557 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 26 transitions. [2020-07-17 22:52:44,557 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:52:44,558 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:52:44,558 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:52:44,558 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:52:44,559 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-17 22:52:44,562 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 26 transitions. [2020-07-17 22:52:44,564 INFO L78 Accepts]: Start accepts. Automaton has 23 states and 26 transitions. Word has length 21 [2020-07-17 22:52:44,565 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:52:44,565 INFO L479 AbstractCegarLoop]: Abstraction has 23 states and 26 transitions. [2020-07-17 22:52:44,565 INFO L480 AbstractCegarLoop]: Interpolant automaton has 2 states. [2020-07-17 22:52:44,565 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 26 transitions. [2020-07-17 22:52:44,567 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2020-07-17 22:52:44,567 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:52:44,567 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:52:44,783 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable0 [2020-07-17 22:52:44,783 INFO L427 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:52:44,784 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:52:44,785 INFO L82 PathProgramCache]: Analyzing trace with hash -1193991140, now seen corresponding path program 1 times [2020-07-17 22:52:44,787 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:52:44,787 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [245180192] [2020-07-17 22:52:44,787 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:52:44,793 ERROR L271 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2020-07-17 22:52:44,793 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1633038006] [2020-07-17 22:52:44,794 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:52:44,854 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:44,856 INFO L264 TraceCheckSpWp]: Trace formula consists of 45 conjuncts, 9 conjunts are in the unsatisfiable core [2020-07-17 22:52:44,871 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:52:44,873 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:52:45,036 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-17 22:52:57,694 WARN L193 SmtUtils]: Spent 8.24 s on a formula simplification that was a NOOP. DAG size: 28 [2020-07-17 22:52:57,723 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-17 22:53:17,247 WARN L193 SmtUtils]: Spent 12.26 s on a formula simplification that was a NOOP. DAG size: 28 [2020-07-17 22:53:19,309 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-17 22:53:27,507 WARN L838 $PredicateComparison]: unable to prove that (exists ((v_main_~u~0_BEFORE_CALL_1 Int)) (and (not (= (+ (* 2 v_main_~u~0_BEFORE_CALL_1) (* 4 (let ((.cse0 (div (+ (* v_main_~u~0_BEFORE_CALL_1 (- 1)) 1) (- 2)))) (* .cse0 .cse0)))) (+ (* v_main_~u~0_BEFORE_CALL_1 v_main_~u~0_BEFORE_CALL_1) 1))) (= 0 (mod (+ v_main_~u~0_BEFORE_CALL_1 1) (- 2))))) is different from false [2020-07-17 22:53:29,528 WARN L860 $PredicateComparison]: unable to prove that (exists ((v_main_~u~0_BEFORE_CALL_1 Int)) (and (not (= (+ (* 2 v_main_~u~0_BEFORE_CALL_1) (* 4 (let ((.cse0 (div (+ (* v_main_~u~0_BEFORE_CALL_1 (- 1)) 1) (- 2)))) (* .cse0 .cse0)))) (+ (* v_main_~u~0_BEFORE_CALL_1 v_main_~u~0_BEFORE_CALL_1) 1))) (= 0 (mod (+ v_main_~u~0_BEFORE_CALL_1 1) (- 2))))) is different from true [2020-07-17 22:53:29,529 INFO L263 TraceCheckUtils]: 0: Hoare triple {242#true} call ULTIMATE.init(); {242#true} is VALID [2020-07-17 22:53:29,529 INFO L280 TraceCheckUtils]: 1: Hoare triple {242#true} assume true; {242#true} is VALID [2020-07-17 22:53:29,529 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {242#true} {242#true} #55#return; {242#true} is VALID [2020-07-17 22:53:29,529 INFO L263 TraceCheckUtils]: 3: Hoare triple {242#true} call #t~ret2 := main(); {242#true} is VALID [2020-07-17 22:53:29,530 INFO L280 TraceCheckUtils]: 4: Hoare triple {242#true} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;~A~0 := ~convertDOUBLEToINT(#t~nondet0);havoc #t~nondet0;~R~0 := ~convertDOUBLEToINT(#t~nondet1);havoc #t~nondet1; {242#true} is VALID [2020-07-17 22:53:29,530 INFO L263 TraceCheckUtils]: 5: Hoare triple {242#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {242#true} is VALID [2020-07-17 22:53:29,530 INFO L280 TraceCheckUtils]: 6: Hoare triple {242#true} ~cond := #in~cond; {242#true} is VALID [2020-07-17 22:53:29,530 INFO L280 TraceCheckUtils]: 7: Hoare triple {242#true} assume !(0 == ~cond); {242#true} is VALID [2020-07-17 22:53:29,531 INFO L280 TraceCheckUtils]: 8: Hoare triple {242#true} assume true; {242#true} is VALID [2020-07-17 22:53:29,531 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {242#true} {242#true} #59#return; {242#true} is VALID [2020-07-17 22:53:29,531 INFO L263 TraceCheckUtils]: 10: Hoare triple {242#true} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {242#true} is VALID [2020-07-17 22:53:29,531 INFO L280 TraceCheckUtils]: 11: Hoare triple {242#true} ~cond := #in~cond; {242#true} is VALID [2020-07-17 22:53:29,531 INFO L280 TraceCheckUtils]: 12: Hoare triple {242#true} assume !(0 == ~cond); {242#true} is VALID [2020-07-17 22:53:29,532 INFO L280 TraceCheckUtils]: 13: Hoare triple {242#true} assume true; {242#true} is VALID [2020-07-17 22:53:29,532 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {242#true} {242#true} #61#return; {242#true} is VALID [2020-07-17 22:53:31,572 INFO L280 TraceCheckUtils]: 15: Hoare triple {242#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {292#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= 0 (mod (+ main_~u~0 1) (- 2))))} is UNKNOWN [2020-07-17 22:53:31,574 INFO L280 TraceCheckUtils]: 16: Hoare triple {292#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= 0 (mod (+ main_~u~0 1) (- 2))))} assume !false; {292#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= 0 (mod (+ main_~u~0 1) (- 2))))} is VALID [2020-07-17 22:53:31,590 INFO L263 TraceCheckUtils]: 17: Hoare triple {292#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= 0 (mod (+ main_~u~0 1) (- 2))))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {299#(or (<= 1 |__VERIFIER_assert_#in~cond|) (and (<= 0 |__VERIFIER_assert_#in~cond|) (exists ((v_main_~u~0_BEFORE_CALL_1 Int)) (and (not (= (+ (* 2 v_main_~u~0_BEFORE_CALL_1) (* 4 (* (div (+ (* v_main_~u~0_BEFORE_CALL_1 (- 1)) 1) (- 2)) (div (+ (* v_main_~u~0_BEFORE_CALL_1 (- 1)) 1) (- 2))))) (+ (* v_main_~u~0_BEFORE_CALL_1 v_main_~u~0_BEFORE_CALL_1) 1))) (= 0 (mod (+ v_main_~u~0_BEFORE_CALL_1 1) (- 2)))))))} is VALID [2020-07-17 22:53:31,592 INFO L280 TraceCheckUtils]: 18: Hoare triple {299#(or (<= 1 |__VERIFIER_assert_#in~cond|) (and (<= 0 |__VERIFIER_assert_#in~cond|) (exists ((v_main_~u~0_BEFORE_CALL_1 Int)) (and (not (= (+ (* 2 v_main_~u~0_BEFORE_CALL_1) (* 4 (* (div (+ (* v_main_~u~0_BEFORE_CALL_1 (- 1)) 1) (- 2)) (div (+ (* v_main_~u~0_BEFORE_CALL_1 (- 1)) 1) (- 2))))) (+ (* v_main_~u~0_BEFORE_CALL_1 v_main_~u~0_BEFORE_CALL_1) 1))) (= 0 (mod (+ v_main_~u~0_BEFORE_CALL_1 1) (- 2)))))))} ~cond := #in~cond; {303#(or (<= 1 __VERIFIER_assert_~cond) (and (<= 0 __VERIFIER_assert_~cond) (exists ((v_main_~u~0_BEFORE_CALL_1 Int)) (and (not (= (+ (* 2 v_main_~u~0_BEFORE_CALL_1) (* 4 (* (div (+ (* v_main_~u~0_BEFORE_CALL_1 (- 1)) 1) (- 2)) (div (+ (* v_main_~u~0_BEFORE_CALL_1 (- 1)) 1) (- 2))))) (+ (* v_main_~u~0_BEFORE_CALL_1 v_main_~u~0_BEFORE_CALL_1) 1))) (= 0 (mod (+ v_main_~u~0_BEFORE_CALL_1 1) (- 2)))))))} is VALID [2020-07-17 22:53:31,599 INFO L280 TraceCheckUtils]: 19: Hoare triple {303#(or (<= 1 __VERIFIER_assert_~cond) (and (<= 0 __VERIFIER_assert_~cond) (exists ((v_main_~u~0_BEFORE_CALL_1 Int)) (and (not (= (+ (* 2 v_main_~u~0_BEFORE_CALL_1) (* 4 (* (div (+ (* v_main_~u~0_BEFORE_CALL_1 (- 1)) 1) (- 2)) (div (+ (* v_main_~u~0_BEFORE_CALL_1 (- 1)) 1) (- 2))))) (+ (* v_main_~u~0_BEFORE_CALL_1 v_main_~u~0_BEFORE_CALL_1) 1))) (= 0 (mod (+ v_main_~u~0_BEFORE_CALL_1 1) (- 2)))))))} assume 0 == ~cond; {307#(exists ((v_main_~u~0_BEFORE_CALL_1 Int)) (and (not (= (+ (* 2 v_main_~u~0_BEFORE_CALL_1) (* 4 (* (div (+ (* v_main_~u~0_BEFORE_CALL_1 (- 1)) 1) (- 2)) (div (+ (* v_main_~u~0_BEFORE_CALL_1 (- 1)) 1) (- 2))))) (+ (* v_main_~u~0_BEFORE_CALL_1 v_main_~u~0_BEFORE_CALL_1) 1))) (= 0 (mod (+ v_main_~u~0_BEFORE_CALL_1 1) (- 2)))))} is VALID [2020-07-17 22:53:33,645 INFO L280 TraceCheckUtils]: 20: Hoare triple {307#(exists ((v_main_~u~0_BEFORE_CALL_1 Int)) (and (not (= (+ (* 2 v_main_~u~0_BEFORE_CALL_1) (* 4 (* (div (+ (* v_main_~u~0_BEFORE_CALL_1 (- 1)) 1) (- 2)) (div (+ (* v_main_~u~0_BEFORE_CALL_1 (- 1)) 1) (- 2))))) (+ (* v_main_~u~0_BEFORE_CALL_1 v_main_~u~0_BEFORE_CALL_1) 1))) (= 0 (mod (+ v_main_~u~0_BEFORE_CALL_1 1) (- 2)))))} assume !false; {243#false} is UNKNOWN [2020-07-17 22:53:33,649 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2020-07-17 22:53:33,649 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [245180192] [2020-07-17 22:53:33,649 WARN L333 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: Unknown [2020-07-17 22:53:33,650 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1633038006] [2020-07-17 22:53:33,650 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:53:33,650 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-17 22:53:33,651 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2102291840] [2020-07-17 22:53:33,654 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 21 [2020-07-17 22:53:33,654 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:53:33,655 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2020-07-17 22:53:39,915 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 15 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2020-07-17 22:53:39,915 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2020-07-17 22:53:39,916 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:53:39,916 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2020-07-17 22:53:39,916 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=13, Unknown=2, NotChecked=6, Total=30 [2020-07-17 22:53:39,917 INFO L87 Difference]: Start difference. First operand 23 states and 26 transitions. Second operand 6 states. [2020-07-17 22:54:43,847 WARN L193 SmtUtils]: Spent 30.02 s on a formula simplification that was a NOOP. DAG size: 34 [2020-07-17 22:55:39,697 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:55:39,697 INFO L93 Difference]: Finished difference Result 32 states and 38 transitions. [2020-07-17 22:55:39,698 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2020-07-17 22:55:39,698 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 21 [2020-07-17 22:55:39,699 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:55:39,699 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-17 22:55:39,702 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 38 transitions. [2020-07-17 22:55:39,702 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-17 22:55:39,705 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 38 transitions. [2020-07-17 22:55:39,705 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 38 transitions. [2020-07-17 22:55:46,166 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 35 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2020-07-17 22:55:46,169 INFO L225 Difference]: With dead ends: 32 [2020-07-17 22:55:46,169 INFO L226 Difference]: Without dead ends: 30 [2020-07-17 22:55:46,170 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 16 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 56.3s TimeCoverageRelationStatistics Valid=13, Invalid=19, Unknown=2, NotChecked=8, Total=42 [2020-07-17 22:55:46,171 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2020-07-17 22:55:46,239 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 27. [2020-07-17 22:55:46,239 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:55:46,239 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand 27 states. [2020-07-17 22:55:46,240 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 27 states. [2020-07-17 22:55:46,240 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 27 states. [2020-07-17 22:55:46,244 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:55:46,244 INFO L93 Difference]: Finished difference Result 30 states and 36 transitions. [2020-07-17 22:55:46,244 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 36 transitions. [2020-07-17 22:55:46,245 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:55:46,245 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:55:46,246 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 30 states. [2020-07-17 22:55:46,246 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 30 states. [2020-07-17 22:55:46,250 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:55:46,250 INFO L93 Difference]: Finished difference Result 30 states and 36 transitions. [2020-07-17 22:55:46,250 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 36 transitions. [2020-07-17 22:55:46,251 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:55:46,251 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:55:46,251 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:55:46,252 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:55:46,252 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2020-07-17 22:55:46,254 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 31 transitions. [2020-07-17 22:55:46,255 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 31 transitions. Word has length 21 [2020-07-17 22:55:46,255 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:55:46,255 INFO L479 AbstractCegarLoop]: Abstraction has 27 states and 31 transitions. [2020-07-17 22:55:46,256 INFO L480 AbstractCegarLoop]: Interpolant automaton has 6 states. [2020-07-17 22:55:46,256 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2020-07-17 22:55:46,257 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2020-07-17 22:55:46,257 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:55:46,257 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:55:46,471 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,3 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:55:46,472 INFO L427 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:55:46,473 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:55:46,473 INFO L82 PathProgramCache]: Analyzing trace with hash -1415100442, now seen corresponding path program 1 times [2020-07-17 22:55:46,474 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:55:46,474 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [782530616] [2020-07-17 22:55:46,475 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:55:46,479 ERROR L271 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2020-07-17 22:55:46,480 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1890074990] [2020-07-17 22:55:46,480 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:55:46,506 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:55:46,507 INFO L264 TraceCheckSpWp]: Trace formula consists of 56 conjuncts, 10 conjunts are in the unsatisfiable core [2020-07-17 22:55:46,519 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:55:46,522 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:55:46,915 WARN L193 SmtUtils]: Spent 169.00 ms on a formula simplification that was a NOOP. DAG size: 15 [2020-07-17 22:55:48,662 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-17 22:55:48,995 INFO L263 TraceCheckUtils]: 0: Hoare triple {460#true} call ULTIMATE.init(); {460#true} is VALID [2020-07-17 22:55:48,996 INFO L280 TraceCheckUtils]: 1: Hoare triple {460#true} assume true; {460#true} is VALID [2020-07-17 22:55:48,996 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {460#true} {460#true} #55#return; {460#true} is VALID [2020-07-17 22:55:48,996 INFO L263 TraceCheckUtils]: 3: Hoare triple {460#true} call #t~ret2 := main(); {460#true} is VALID [2020-07-17 22:55:48,997 INFO L280 TraceCheckUtils]: 4: Hoare triple {460#true} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;~A~0 := ~convertDOUBLEToINT(#t~nondet0);havoc #t~nondet0;~R~0 := ~convertDOUBLEToINT(#t~nondet1);havoc #t~nondet1; {460#true} is VALID [2020-07-17 22:55:48,997 INFO L263 TraceCheckUtils]: 5: Hoare triple {460#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {460#true} is VALID [2020-07-17 22:55:48,997 INFO L280 TraceCheckUtils]: 6: Hoare triple {460#true} ~cond := #in~cond; {460#true} is VALID [2020-07-17 22:55:48,998 INFO L280 TraceCheckUtils]: 7: Hoare triple {460#true} assume !(0 == ~cond); {460#true} is VALID [2020-07-17 22:55:48,998 INFO L280 TraceCheckUtils]: 8: Hoare triple {460#true} assume true; {460#true} is VALID [2020-07-17 22:55:48,998 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {460#true} {460#true} #59#return; {460#true} is VALID [2020-07-17 22:55:48,999 INFO L263 TraceCheckUtils]: 10: Hoare triple {460#true} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {460#true} is VALID [2020-07-17 22:55:48,999 INFO L280 TraceCheckUtils]: 11: Hoare triple {460#true} ~cond := #in~cond; {460#true} is VALID [2020-07-17 22:55:48,999 INFO L280 TraceCheckUtils]: 12: Hoare triple {460#true} assume !(0 == ~cond); {460#true} is VALID [2020-07-17 22:55:49,000 INFO L280 TraceCheckUtils]: 13: Hoare triple {460#true} assume true; {460#true} is VALID [2020-07-17 22:55:49,000 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {460#true} {460#true} #61#return; {460#true} is VALID [2020-07-17 22:55:49,000 INFO L280 TraceCheckUtils]: 15: Hoare triple {460#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {460#true} is VALID [2020-07-17 22:55:49,001 INFO L280 TraceCheckUtils]: 16: Hoare triple {460#true} assume !false; {460#true} is VALID [2020-07-17 22:55:49,001 INFO L263 TraceCheckUtils]: 17: Hoare triple {460#true} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {460#true} is VALID [2020-07-17 22:55:49,008 INFO L280 TraceCheckUtils]: 18: Hoare triple {460#true} ~cond := #in~cond; {519#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2020-07-17 22:55:49,011 INFO L280 TraceCheckUtils]: 19: Hoare triple {519#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {523#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 22:55:49,015 INFO L280 TraceCheckUtils]: 20: Hoare triple {523#(not (= 0 |__VERIFIER_assert_#in~cond|))} assume true; {523#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 22:55:49,023 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {523#(not (= 0 |__VERIFIER_assert_#in~cond|))} {460#true} #63#return; {530#(= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0)) (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0)))} is VALID [2020-07-17 22:55:49,026 INFO L280 TraceCheckUtils]: 22: Hoare triple {530#(= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0)) (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0)))} assume !(0 != ~r~0); {534#(= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0)) (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~A~0)))} is VALID [2020-07-17 22:55:49,029 INFO L263 TraceCheckUtils]: 23: Hoare triple {534#(= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0)) (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~A~0)))} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {538#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2020-07-17 22:55:49,032 INFO L280 TraceCheckUtils]: 24: Hoare triple {538#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {542#(<= 1 __VERIFIER_assert_~cond)} is VALID [2020-07-17 22:55:49,035 INFO L280 TraceCheckUtils]: 25: Hoare triple {542#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {461#false} is VALID [2020-07-17 22:55:49,035 INFO L280 TraceCheckUtils]: 26: Hoare triple {461#false} assume !false; {461#false} is VALID [2020-07-17 22:55:49,037 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2020-07-17 22:55:49,037 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [782530616] [2020-07-17 22:55:49,038 WARN L333 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: Unknown [2020-07-17 22:55:49,038 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1890074990] [2020-07-17 22:55:49,038 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-17 22:55:49,038 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8] total 8 [2020-07-17 22:55:49,039 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1794293279] [2020-07-17 22:55:49,039 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 27 [2020-07-17 22:55:49,040 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:55:49,040 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2020-07-17 22:55:49,231 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:55:49,231 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2020-07-17 22:55:49,232 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:55:49,232 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2020-07-17 22:55:49,233 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2020-07-17 22:55:49,233 INFO L87 Difference]: Start difference. First operand 27 states and 31 transitions. Second operand 8 states. [2020-07-17 22:55:54,991 WARN L193 SmtUtils]: Spent 143.00 ms on a formula simplification that was a NOOP. DAG size: 18 [2020-07-17 22:56:06,734 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:56:06,735 INFO L93 Difference]: Finished difference Result 33 states and 36 transitions. [2020-07-17 22:56:06,735 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2020-07-17 22:56:06,735 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 27 [2020-07-17 22:56:06,736 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:56:06,736 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-17 22:56:06,738 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 31 transitions. [2020-07-17 22:56:06,738 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-17 22:56:06,740 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 31 transitions. [2020-07-17 22:56:06,740 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 31 transitions. [2020-07-17 22:56:06,968 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:56:06,971 INFO L225 Difference]: With dead ends: 33 [2020-07-17 22:56:06,972 INFO L226 Difference]: Without dead ends: 26 [2020-07-17 22:56:06,972 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 29 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=29, Invalid=81, Unknown=0, NotChecked=0, Total=110 [2020-07-17 22:56:06,973 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 26 states. [2020-07-17 22:56:07,027 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 26 to 26. [2020-07-17 22:56:07,028 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:56:07,028 INFO L82 GeneralOperation]: Start isEquivalent. First operand 26 states. Second operand 26 states. [2020-07-17 22:56:07,028 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 26 states. [2020-07-17 22:56:07,028 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 26 states. [2020-07-17 22:56:07,031 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:56:07,031 INFO L93 Difference]: Finished difference Result 26 states and 29 transitions. [2020-07-17 22:56:07,031 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 29 transitions. [2020-07-17 22:56:07,032 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:56:07,032 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:56:07,032 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 26 states. [2020-07-17 22:56:07,032 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 26 states. [2020-07-17 22:56:07,035 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:56:07,035 INFO L93 Difference]: Finished difference Result 26 states and 29 transitions. [2020-07-17 22:56:07,035 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 29 transitions. [2020-07-17 22:56:07,036 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:56:07,036 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:56:07,036 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:56:07,036 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:56:07,037 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2020-07-17 22:56:07,041 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 29 transitions. [2020-07-17 22:56:07,042 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 29 transitions. Word has length 27 [2020-07-17 22:56:07,042 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:56:07,042 INFO L479 AbstractCegarLoop]: Abstraction has 26 states and 29 transitions. [2020-07-17 22:56:07,042 INFO L480 AbstractCegarLoop]: Interpolant automaton has 8 states. [2020-07-17 22:56:07,042 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 29 transitions. [2020-07-17 22:56:07,043 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2020-07-17 22:56:07,044 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:56:07,044 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:56:07,258 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,4 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:56:07,259 INFO L427 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:56:07,260 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:56:07,260 INFO L82 PathProgramCache]: Analyzing trace with hash -1831429119, now seen corresponding path program 1 times [2020-07-17 22:56:07,260 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:56:07,261 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [85003002] [2020-07-17 22:56:07,261 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:56:07,265 ERROR L271 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2020-07-17 22:56:07,266 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [806458109] [2020-07-17 22:56:07,266 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:56:07,292 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:56:07,293 INFO L264 TraceCheckSpWp]: Trace formula consists of 61 conjuncts, 14 conjunts are in the unsatisfiable core [2020-07-17 22:56:07,315 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:56:07,325 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:56:10,326 WARN L193 SmtUtils]: Spent 214.00 ms on a formula simplification that was a NOOP. DAG size: 18 [2020-07-17 22:56:12,758 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-17 22:56:15,224 INFO L263 TraceCheckUtils]: 0: Hoare triple {693#true} call ULTIMATE.init(); {693#true} is VALID [2020-07-17 22:56:15,224 INFO L280 TraceCheckUtils]: 1: Hoare triple {693#true} assume true; {693#true} is VALID [2020-07-17 22:56:15,225 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {693#true} {693#true} #55#return; {693#true} is VALID [2020-07-17 22:56:15,225 INFO L263 TraceCheckUtils]: 3: Hoare triple {693#true} call #t~ret2 := main(); {693#true} is VALID [2020-07-17 22:56:15,226 INFO L280 TraceCheckUtils]: 4: Hoare triple {693#true} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;~A~0 := ~convertDOUBLEToINT(#t~nondet0);havoc #t~nondet0;~R~0 := ~convertDOUBLEToINT(#t~nondet1);havoc #t~nondet1; {693#true} is VALID [2020-07-17 22:56:15,226 INFO L263 TraceCheckUtils]: 5: Hoare triple {693#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {693#true} is VALID [2020-07-17 22:56:15,226 INFO L280 TraceCheckUtils]: 6: Hoare triple {693#true} ~cond := #in~cond; {693#true} is VALID [2020-07-17 22:56:15,226 INFO L280 TraceCheckUtils]: 7: Hoare triple {693#true} assume !(0 == ~cond); {693#true} is VALID [2020-07-17 22:56:15,227 INFO L280 TraceCheckUtils]: 8: Hoare triple {693#true} assume true; {693#true} is VALID [2020-07-17 22:56:15,227 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {693#true} {693#true} #59#return; {693#true} is VALID [2020-07-17 22:56:15,227 INFO L263 TraceCheckUtils]: 10: Hoare triple {693#true} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {693#true} is VALID [2020-07-17 22:56:15,228 INFO L280 TraceCheckUtils]: 11: Hoare triple {693#true} ~cond := #in~cond; {693#true} is VALID [2020-07-17 22:56:15,228 INFO L280 TraceCheckUtils]: 12: Hoare triple {693#true} assume !(0 == ~cond); {693#true} is VALID [2020-07-17 22:56:15,228 INFO L280 TraceCheckUtils]: 13: Hoare triple {693#true} assume true; {693#true} is VALID [2020-07-17 22:56:15,228 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {693#true} {693#true} #61#return; {693#true} is VALID [2020-07-17 22:56:15,236 INFO L280 TraceCheckUtils]: 15: Hoare triple {693#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {743#(= 1 main_~v~0)} is VALID [2020-07-17 22:56:15,238 INFO L280 TraceCheckUtils]: 16: Hoare triple {743#(= 1 main_~v~0)} assume !false; {743#(= 1 main_~v~0)} is VALID [2020-07-17 22:56:15,239 INFO L263 TraceCheckUtils]: 17: Hoare triple {743#(= 1 main_~v~0)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {693#true} is VALID [2020-07-17 22:56:15,241 INFO L280 TraceCheckUtils]: 18: Hoare triple {693#true} ~cond := #in~cond; {753#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2020-07-17 22:56:15,243 INFO L280 TraceCheckUtils]: 19: Hoare triple {753#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {757#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 22:56:15,245 INFO L280 TraceCheckUtils]: 20: Hoare triple {757#(not (= 0 |__VERIFIER_assert_#in~cond|))} assume true; {757#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 22:56:15,249 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {757#(not (= 0 |__VERIFIER_assert_#in~cond|))} {743#(= 1 main_~v~0)} #63#return; {764#(and (= 1 main_~v~0) (= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0)) (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0))))} is VALID [2020-07-17 22:56:15,252 INFO L280 TraceCheckUtils]: 22: Hoare triple {764#(and (= 1 main_~v~0) (= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0)) (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0))))} assume !!(0 != ~r~0); {764#(and (= 1 main_~v~0) (= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0)) (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0))))} is VALID [2020-07-17 22:56:15,287 INFO L280 TraceCheckUtils]: 23: Hoare triple {764#(and (= 1 main_~v~0) (= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0)) (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0))))} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {771#(and (= (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0)) (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0))) (= 3 main_~v~0))} is VALID [2020-07-17 22:56:15,289 INFO L280 TraceCheckUtils]: 24: Hoare triple {771#(and (= (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0)) (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0))) (= 3 main_~v~0))} assume !false; {771#(and (= (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0)) (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0))) (= 3 main_~v~0))} is VALID [2020-07-17 22:56:15,293 INFO L263 TraceCheckUtils]: 25: Hoare triple {771#(and (= (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0)) (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0))) (= 3 main_~v~0))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {778#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2020-07-17 22:56:15,296 INFO L280 TraceCheckUtils]: 26: Hoare triple {778#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {782#(<= 1 __VERIFIER_assert_~cond)} is VALID [2020-07-17 22:56:15,298 INFO L280 TraceCheckUtils]: 27: Hoare triple {782#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {694#false} is VALID [2020-07-17 22:56:15,299 INFO L280 TraceCheckUtils]: 28: Hoare triple {694#false} assume !false; {694#false} is VALID [2020-07-17 22:56:15,301 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 1 proven. 3 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2020-07-17 22:56:15,301 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [85003002] [2020-07-17 22:56:15,302 WARN L333 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: Unknown [2020-07-17 22:56:15,302 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [806458109] [2020-07-17 22:56:15,302 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-17 22:56:15,302 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2020-07-17 22:56:15,303 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1314313152] [2020-07-17 22:56:15,303 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 29 [2020-07-17 22:56:15,303 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:56:15,304 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-17 22:56:15,604 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:56:15,604 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-17 22:56:15,605 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:56:15,605 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-17 22:56:15,606 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=53, Unknown=2, NotChecked=0, Total=72 [2020-07-17 22:56:15,606 INFO L87 Difference]: Start difference. First operand 26 states and 29 transitions. Second operand 9 states. [2020-07-17 22:56:36,681 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:56:36,681 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2020-07-17 22:56:36,682 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-17 22:56:36,682 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 29 [2020-07-17 22:56:36,682 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:56:36,682 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-17 22:56:36,686 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 39 transitions. [2020-07-17 22:56:36,686 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-17 22:56:36,688 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 39 transitions. [2020-07-17 22:56:36,688 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 39 transitions. [2020-07-17 22:56:39,167 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 38 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2020-07-17 22:56:39,170 INFO L225 Difference]: With dead ends: 39 [2020-07-17 22:56:39,170 INFO L226 Difference]: Without dead ends: 37 [2020-07-17 22:56:39,171 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 30 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 5.2s TimeCoverageRelationStatistics Valid=28, Invalid=80, Unknown=2, NotChecked=0, Total=110 [2020-07-17 22:56:39,171 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2020-07-17 22:56:39,259 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 36. [2020-07-17 22:56:39,259 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:56:39,259 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand 36 states. [2020-07-17 22:56:39,260 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 36 states. [2020-07-17 22:56:39,260 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 36 states. [2020-07-17 22:56:39,263 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:56:39,263 INFO L93 Difference]: Finished difference Result 37 states and 42 transitions. [2020-07-17 22:56:39,264 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 42 transitions. [2020-07-17 22:56:39,264 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:56:39,264 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:56:39,265 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand 37 states. [2020-07-17 22:56:39,265 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 37 states. [2020-07-17 22:56:39,268 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:56:39,268 INFO L93 Difference]: Finished difference Result 37 states and 42 transitions. [2020-07-17 22:56:39,269 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 42 transitions. [2020-07-17 22:56:39,269 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:56:39,270 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:56:39,270 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:56:39,270 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:56:39,270 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 36 states. [2020-07-17 22:56:39,276 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 41 transitions. [2020-07-17 22:56:39,277 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 41 transitions. Word has length 29 [2020-07-17 22:56:39,277 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:56:39,277 INFO L479 AbstractCegarLoop]: Abstraction has 36 states and 41 transitions. [2020-07-17 22:56:39,278 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-17 22:56:39,278 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2020-07-17 22:56:39,279 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2020-07-17 22:56:39,279 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:56:39,279 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:56:39,480 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,5 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:56:39,481 INFO L427 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:56:39,482 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:56:39,482 INFO L82 PathProgramCache]: Analyzing trace with hash -1774170817, now seen corresponding path program 1 times [2020-07-17 22:56:39,482 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:56:39,483 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1791868992] [2020-07-17 22:56:39,483 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:56:39,488 ERROR L271 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2020-07-17 22:56:39,488 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1317857023] [2020-07-17 22:56:39,489 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:56:39,520 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:56:39,521 INFO L264 TraceCheckSpWp]: Trace formula consists of 61 conjuncts, 18 conjunts are in the unsatisfiable core [2020-07-17 22:56:41,554 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unknown [2020-07-17 22:56:41,595 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:56:41,941 WARN L193 SmtUtils]: Spent 120.00 ms on a formula simplification that was a NOOP. DAG size: 19 [2020-07-17 22:56:52,878 WARN L193 SmtUtils]: Spent 8.53 s on a formula simplification that was a NOOP. DAG size: 30 [2020-07-17 22:57:09,812 WARN L193 SmtUtils]: Spent 8.42 s on a formula simplification that was a NOOP. DAG size: 32 [2020-07-17 22:57:09,977 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 3 disjuncts [2020-07-17 22:57:10,354 INFO L263 TraceCheckUtils]: 0: Hoare triple {977#true} call ULTIMATE.init(); {977#true} is VALID [2020-07-17 22:57:10,354 INFO L280 TraceCheckUtils]: 1: Hoare triple {977#true} assume true; {977#true} is VALID [2020-07-17 22:57:10,355 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {977#true} {977#true} #55#return; {977#true} is VALID [2020-07-17 22:57:10,355 INFO L263 TraceCheckUtils]: 3: Hoare triple {977#true} call #t~ret2 := main(); {977#true} is VALID [2020-07-17 22:57:10,355 INFO L280 TraceCheckUtils]: 4: Hoare triple {977#true} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;~A~0 := ~convertDOUBLEToINT(#t~nondet0);havoc #t~nondet0;~R~0 := ~convertDOUBLEToINT(#t~nondet1);havoc #t~nondet1; {977#true} is VALID [2020-07-17 22:57:10,355 INFO L263 TraceCheckUtils]: 5: Hoare triple {977#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {977#true} is VALID [2020-07-17 22:57:10,356 INFO L280 TraceCheckUtils]: 6: Hoare triple {977#true} ~cond := #in~cond; {977#true} is VALID [2020-07-17 22:57:10,356 INFO L280 TraceCheckUtils]: 7: Hoare triple {977#true} assume !(0 == ~cond); {977#true} is VALID [2020-07-17 22:57:10,356 INFO L280 TraceCheckUtils]: 8: Hoare triple {977#true} assume true; {977#true} is VALID [2020-07-17 22:57:10,356 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {977#true} {977#true} #59#return; {977#true} is VALID [2020-07-17 22:57:10,357 INFO L263 TraceCheckUtils]: 10: Hoare triple {977#true} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {977#true} is VALID [2020-07-17 22:57:10,357 INFO L280 TraceCheckUtils]: 11: Hoare triple {977#true} ~cond := #in~cond; {977#true} is VALID [2020-07-17 22:57:10,357 INFO L280 TraceCheckUtils]: 12: Hoare triple {977#true} assume !(0 == ~cond); {977#true} is VALID [2020-07-17 22:57:10,357 INFO L280 TraceCheckUtils]: 13: Hoare triple {977#true} assume true; {977#true} is VALID [2020-07-17 22:57:10,358 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {977#true} {977#true} #61#return; {977#true} is VALID [2020-07-17 22:57:12,388 INFO L280 TraceCheckUtils]: 15: Hoare triple {977#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {1027#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= 0 (mod (+ main_~u~0 1) (- 2))))} is UNKNOWN [2020-07-17 22:57:12,390 INFO L280 TraceCheckUtils]: 16: Hoare triple {1027#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= 0 (mod (+ main_~u~0 1) (- 2))))} assume !false; {1027#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= 0 (mod (+ main_~u~0 1) (- 2))))} is VALID [2020-07-17 22:57:12,391 INFO L263 TraceCheckUtils]: 17: Hoare triple {1027#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= 0 (mod (+ main_~u~0 1) (- 2))))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {977#true} is VALID [2020-07-17 22:57:12,394 INFO L280 TraceCheckUtils]: 18: Hoare triple {977#true} ~cond := #in~cond; {1037#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2020-07-17 22:57:12,397 INFO L280 TraceCheckUtils]: 19: Hoare triple {1037#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1041#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 22:57:12,399 INFO L280 TraceCheckUtils]: 20: Hoare triple {1041#(not (= 0 |__VERIFIER_assert_#in~cond|))} assume true; {1041#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 22:57:12,403 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {1041#(not (= 0 |__VERIFIER_assert_#in~cond|))} {1027#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= 0 (mod (+ main_~u~0 1) (- 2))))} #63#return; {1048#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0)) (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0))) (= 0 (mod (+ main_~u~0 1) (- 2))))} is VALID [2020-07-17 22:57:12,407 INFO L280 TraceCheckUtils]: 22: Hoare triple {1048#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0)) (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0))) (= 0 (mod (+ main_~u~0 1) (- 2))))} assume !!(0 != ~r~0); {1048#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0)) (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0))) (= 0 (mod (+ main_~u~0 1) (- 2))))} is VALID [2020-07-17 22:57:14,454 INFO L280 TraceCheckUtils]: 23: Hoare triple {1048#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0)) (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0))) (= 0 (mod (+ main_~u~0 1) (- 2))))} assume !(~r~0 > 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {1055#(and (= 1 main_~v~0) (= (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0)) (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0))) (= (+ main_~u~0 (* (div (+ (* main_~u~0 (- 1)) 3) (- 2)) (div (+ (* main_~u~0 (- 1)) 3) (- 2)))) (+ main_~r~0 main_~A~0 2)) (= 0 (mod (+ main_~u~0 1) (- 2))))} is UNKNOWN [2020-07-17 22:57:14,456 INFO L280 TraceCheckUtils]: 24: Hoare triple {1055#(and (= 1 main_~v~0) (= (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0)) (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0))) (= (+ main_~u~0 (* (div (+ (* main_~u~0 (- 1)) 3) (- 2)) (div (+ (* main_~u~0 (- 1)) 3) (- 2)))) (+ main_~r~0 main_~A~0 2)) (= 0 (mod (+ main_~u~0 1) (- 2))))} assume !false; {1055#(and (= 1 main_~v~0) (= (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0)) (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0))) (= (+ main_~u~0 (* (div (+ (* main_~u~0 (- 1)) 3) (- 2)) (div (+ (* main_~u~0 (- 1)) 3) (- 2)))) (+ main_~r~0 main_~A~0 2)) (= 0 (mod (+ main_~u~0 1) (- 2))))} is VALID [2020-07-17 22:57:14,460 INFO L263 TraceCheckUtils]: 25: Hoare triple {1055#(and (= 1 main_~v~0) (= (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0)) (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0))) (= (+ main_~u~0 (* (div (+ (* main_~u~0 (- 1)) 3) (- 2)) (div (+ (* main_~u~0 (- 1)) 3) (- 2)))) (+ main_~r~0 main_~A~0 2)) (= 0 (mod (+ main_~u~0 1) (- 2))))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {1062#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2020-07-17 22:57:14,463 INFO L280 TraceCheckUtils]: 26: Hoare triple {1062#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1066#(<= 1 __VERIFIER_assert_~cond)} is VALID [2020-07-17 22:57:14,465 INFO L280 TraceCheckUtils]: 27: Hoare triple {1066#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {978#false} is VALID [2020-07-17 22:57:14,465 INFO L280 TraceCheckUtils]: 28: Hoare triple {978#false} assume !false; {978#false} is VALID [2020-07-17 22:57:14,468 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 1 proven. 1 refuted. 2 times theorem prover too weak. 4 trivial. 0 not checked. [2020-07-17 22:57:14,468 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1791868992] [2020-07-17 22:57:14,468 WARN L333 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: Unknown [2020-07-17 22:57:14,468 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1317857023] [2020-07-17 22:57:14,469 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-17 22:57:14,469 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2020-07-17 22:57:14,469 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1999885521] [2020-07-17 22:57:14,469 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 29 [2020-07-17 22:57:14,470 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:57:14,470 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-17 22:57:18,820 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 24 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2020-07-17 22:57:18,821 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-17 22:57:18,821 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:57:18,821 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-17 22:57:18,821 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=50, Unknown=5, NotChecked=0, Total=72 [2020-07-17 22:57:18,821 INFO L87 Difference]: Start difference. First operand 36 states and 41 transitions. Second operand 9 states. [2020-07-17 22:58:19,854 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:58:19,855 INFO L93 Difference]: Finished difference Result 48 states and 55 transitions. [2020-07-17 22:58:19,855 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-17 22:58:19,855 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 29 [2020-07-17 22:58:19,856 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:58:19,856 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-17 22:58:19,858 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 41 transitions. [2020-07-17 22:58:19,858 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-17 22:58:19,860 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 41 transitions. [2020-07-17 22:58:19,860 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 41 transitions. [2020-07-17 22:58:24,465 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 39 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2020-07-17 22:58:24,467 INFO L225 Difference]: With dead ends: 48 [2020-07-17 22:58:24,467 INFO L226 Difference]: Without dead ends: 46 [2020-07-17 22:58:24,468 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 30 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 28.1s TimeCoverageRelationStatistics Valid=28, Invalid=77, Unknown=5, NotChecked=0, Total=110 [2020-07-17 22:58:24,468 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2020-07-17 22:58:24,585 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 44. [2020-07-17 22:58:24,585 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:58:24,586 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand 44 states. [2020-07-17 22:58:24,586 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 44 states. [2020-07-17 22:58:24,586 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 44 states. [2020-07-17 22:58:24,590 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:58:24,590 INFO L93 Difference]: Finished difference Result 46 states and 53 transitions. [2020-07-17 22:58:24,590 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 53 transitions. [2020-07-17 22:58:24,591 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:58:24,591 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:58:24,592 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 46 states. [2020-07-17 22:58:24,592 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 46 states. [2020-07-17 22:58:24,599 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:58:24,599 INFO L93 Difference]: Finished difference Result 46 states and 53 transitions. [2020-07-17 22:58:24,599 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 53 transitions. [2020-07-17 22:58:24,600 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:58:24,600 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:58:24,601 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:58:24,601 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:58:24,601 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 44 states. [2020-07-17 22:58:24,604 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 50 transitions. [2020-07-17 22:58:24,604 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 50 transitions. Word has length 29 [2020-07-17 22:58:24,604 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:58:24,605 INFO L479 AbstractCegarLoop]: Abstraction has 44 states and 50 transitions. [2020-07-17 22:58:24,605 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-17 22:58:24,605 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 50 transitions. [2020-07-17 22:58:24,606 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2020-07-17 22:58:24,606 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:58:24,606 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:58:24,820 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,6 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:58:24,821 INFO L427 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:58:24,822 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:58:24,822 INFO L82 PathProgramCache]: Analyzing trace with hash 1286102758, now seen corresponding path program 2 times [2020-07-17 22:58:24,823 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:58:24,823 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1484089201] [2020-07-17 22:58:24,824 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:58:24,827 ERROR L271 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2020-07-17 22:58:24,828 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [804242515] [2020-07-17 22:58:24,828 INFO L92 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:58:24,859 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2020-07-17 22:58:24,859 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-17 22:58:24,860 INFO L264 TraceCheckSpWp]: Trace formula consists of 77 conjuncts, 23 conjunts are in the unsatisfiable core [2020-07-17 22:58:24,911 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:58:24,932 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:58:25,591 WARN L193 SmtUtils]: Spent 253.00 ms on a formula simplification that was a NOOP. DAG size: 18 [2020-07-17 22:58:26,479 WARN L193 SmtUtils]: Spent 266.00 ms on a formula simplification that was a NOOP. DAG size: 15 [2020-07-17 22:58:31,537 WARN L838 $PredicateComparison]: unable to prove that (and (= (+ (* c_main_~u~0 c_main_~u~0) 5) (+ (* 2 c_main_~u~0) (* 4 c_main_~v~0) (* 4 c_main_~r~0) (* 4 c_main_~A~0))) (= 5 c_main_~v~0)) is different from false [2020-07-17 22:58:36,142 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-17 22:58:36,950 INFO L263 TraceCheckUtils]: 0: Hoare triple {1302#true} call ULTIMATE.init(); {1302#true} is VALID [2020-07-17 22:58:36,951 INFO L280 TraceCheckUtils]: 1: Hoare triple {1302#true} assume true; {1302#true} is VALID [2020-07-17 22:58:36,951 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1302#true} {1302#true} #55#return; {1302#true} is VALID [2020-07-17 22:58:36,952 INFO L263 TraceCheckUtils]: 3: Hoare triple {1302#true} call #t~ret2 := main(); {1302#true} is VALID [2020-07-17 22:58:36,952 INFO L280 TraceCheckUtils]: 4: Hoare triple {1302#true} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;~A~0 := ~convertDOUBLEToINT(#t~nondet0);havoc #t~nondet0;~R~0 := ~convertDOUBLEToINT(#t~nondet1);havoc #t~nondet1; {1302#true} is VALID [2020-07-17 22:58:36,952 INFO L263 TraceCheckUtils]: 5: Hoare triple {1302#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {1302#true} is VALID [2020-07-17 22:58:36,952 INFO L280 TraceCheckUtils]: 6: Hoare triple {1302#true} ~cond := #in~cond; {1302#true} is VALID [2020-07-17 22:58:36,953 INFO L280 TraceCheckUtils]: 7: Hoare triple {1302#true} assume !(0 == ~cond); {1302#true} is VALID [2020-07-17 22:58:36,953 INFO L280 TraceCheckUtils]: 8: Hoare triple {1302#true} assume true; {1302#true} is VALID [2020-07-17 22:58:36,953 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {1302#true} {1302#true} #59#return; {1302#true} is VALID [2020-07-17 22:58:36,953 INFO L263 TraceCheckUtils]: 10: Hoare triple {1302#true} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {1302#true} is VALID [2020-07-17 22:58:36,953 INFO L280 TraceCheckUtils]: 11: Hoare triple {1302#true} ~cond := #in~cond; {1302#true} is VALID [2020-07-17 22:58:36,954 INFO L280 TraceCheckUtils]: 12: Hoare triple {1302#true} assume !(0 == ~cond); {1302#true} is VALID [2020-07-17 22:58:36,954 INFO L280 TraceCheckUtils]: 13: Hoare triple {1302#true} assume true; {1302#true} is VALID [2020-07-17 22:58:36,954 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {1302#true} {1302#true} #61#return; {1302#true} is VALID [2020-07-17 22:58:36,956 INFO L280 TraceCheckUtils]: 15: Hoare triple {1302#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {1352#(= 1 main_~v~0)} is VALID [2020-07-17 22:58:36,959 INFO L280 TraceCheckUtils]: 16: Hoare triple {1352#(= 1 main_~v~0)} assume !false; {1352#(= 1 main_~v~0)} is VALID [2020-07-17 22:58:36,959 INFO L263 TraceCheckUtils]: 17: Hoare triple {1352#(= 1 main_~v~0)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {1302#true} is VALID [2020-07-17 22:58:36,961 INFO L280 TraceCheckUtils]: 18: Hoare triple {1302#true} ~cond := #in~cond; {1362#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2020-07-17 22:58:36,964 INFO L280 TraceCheckUtils]: 19: Hoare triple {1362#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1366#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 22:58:36,966 INFO L280 TraceCheckUtils]: 20: Hoare triple {1366#(not (= 0 |__VERIFIER_assert_#in~cond|))} assume true; {1366#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 22:58:36,969 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {1366#(not (= 0 |__VERIFIER_assert_#in~cond|))} {1352#(= 1 main_~v~0)} #63#return; {1373#(and (= 1 main_~v~0) (= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0)) (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0))))} is VALID [2020-07-17 22:58:36,972 INFO L280 TraceCheckUtils]: 22: Hoare triple {1373#(and (= 1 main_~v~0) (= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0)) (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0))))} assume !!(0 != ~r~0); {1373#(and (= 1 main_~v~0) (= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0)) (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0))))} is VALID [2020-07-17 22:58:37,020 INFO L280 TraceCheckUtils]: 23: Hoare triple {1373#(and (= 1 main_~v~0) (= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0)) (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0))))} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {1380#(and (= (* main_~u~0 main_~u~0) (+ (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0) 3)) (= 3 main_~v~0))} is VALID [2020-07-17 22:58:37,023 INFO L280 TraceCheckUtils]: 24: Hoare triple {1380#(and (= (* main_~u~0 main_~u~0) (+ (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0) 3)) (= 3 main_~v~0))} assume !false; {1380#(and (= (* main_~u~0 main_~u~0) (+ (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0) 3)) (= 3 main_~v~0))} is VALID [2020-07-17 22:58:37,023 INFO L263 TraceCheckUtils]: 25: Hoare triple {1380#(and (= (* main_~u~0 main_~u~0) (+ (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0) 3)) (= 3 main_~v~0))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {1302#true} is VALID [2020-07-17 22:58:37,026 INFO L280 TraceCheckUtils]: 26: Hoare triple {1302#true} ~cond := #in~cond; {1362#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2020-07-17 22:58:37,028 INFO L280 TraceCheckUtils]: 27: Hoare triple {1362#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1366#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 22:58:37,030 INFO L280 TraceCheckUtils]: 28: Hoare triple {1366#(not (= 0 |__VERIFIER_assert_#in~cond|))} assume true; {1366#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 22:58:37,033 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {1366#(not (= 0 |__VERIFIER_assert_#in~cond|))} {1380#(and (= (* main_~u~0 main_~u~0) (+ (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0) 3)) (= 3 main_~v~0))} #63#return; {1380#(and (= (* main_~u~0 main_~u~0) (+ (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0) 3)) (= 3 main_~v~0))} is VALID [2020-07-17 22:58:37,036 INFO L280 TraceCheckUtils]: 30: Hoare triple {1380#(and (= (* main_~u~0 main_~u~0) (+ (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0) 3)) (= 3 main_~v~0))} assume !!(0 != ~r~0); {1380#(and (= (* main_~u~0 main_~u~0) (+ (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0) 3)) (= 3 main_~v~0))} is VALID [2020-07-17 22:58:37,095 INFO L280 TraceCheckUtils]: 31: Hoare triple {1380#(and (= (* main_~u~0 main_~u~0) (+ (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0) 3)) (= 3 main_~v~0))} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {1405#(and (= (+ (* main_~u~0 main_~u~0) 5) (+ (* 2 main_~u~0) (* 4 main_~v~0) (* 4 main_~r~0) (* 4 main_~A~0))) (= 5 main_~v~0))} is VALID [2020-07-17 22:58:37,098 INFO L280 TraceCheckUtils]: 32: Hoare triple {1405#(and (= (+ (* main_~u~0 main_~u~0) 5) (+ (* 2 main_~u~0) (* 4 main_~v~0) (* 4 main_~r~0) (* 4 main_~A~0))) (= 5 main_~v~0))} assume !false; {1405#(and (= (+ (* main_~u~0 main_~u~0) 5) (+ (* 2 main_~u~0) (* 4 main_~v~0) (* 4 main_~r~0) (* 4 main_~A~0))) (= 5 main_~v~0))} is VALID [2020-07-17 22:58:37,102 INFO L263 TraceCheckUtils]: 33: Hoare triple {1405#(and (= (+ (* main_~u~0 main_~u~0) 5) (+ (* 2 main_~u~0) (* 4 main_~v~0) (* 4 main_~r~0) (* 4 main_~A~0))) (= 5 main_~v~0))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {1412#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2020-07-17 22:58:37,104 INFO L280 TraceCheckUtils]: 34: Hoare triple {1412#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1416#(<= 1 __VERIFIER_assert_~cond)} is VALID [2020-07-17 22:58:37,106 INFO L280 TraceCheckUtils]: 35: Hoare triple {1416#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1303#false} is VALID [2020-07-17 22:58:37,107 INFO L280 TraceCheckUtils]: 36: Hoare triple {1303#false} assume !false; {1303#false} is VALID [2020-07-17 22:58:37,109 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 2 proven. 6 refuted. 0 times theorem prover too weak. 8 trivial. 4 not checked. [2020-07-17 22:58:37,110 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1484089201] [2020-07-17 22:58:37,110 WARN L333 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: Unknown [2020-07-17 22:58:37,110 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [804242515] [2020-07-17 22:58:37,110 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-17 22:58:37,110 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2020-07-17 22:58:37,111 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1033291189] [2020-07-17 22:58:37,111 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 37 [2020-07-17 22:58:37,112 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:58:37,112 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-17 22:58:37,678 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:58:37,678 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-17 22:58:37,678 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:58:37,678 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-17 22:58:37,679 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=56, Unknown=1, NotChecked=14, Total=90 [2020-07-17 22:58:37,679 INFO L87 Difference]: Start difference. First operand 44 states and 50 transitions. Second operand 10 states. [2020-07-17 22:59:05,814 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:59:05,814 INFO L93 Difference]: Finished difference Result 54 states and 61 transitions. [2020-07-17 22:59:05,815 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2020-07-17 22:59:05,815 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 37 [2020-07-17 22:59:05,815 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:59:05,815 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-17 22:59:05,817 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 44 transitions. [2020-07-17 22:59:05,818 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-17 22:59:05,819 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 44 transitions. [2020-07-17 22:59:05,819 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 44 transitions. [2020-07-17 22:59:08,436 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 43 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2020-07-17 22:59:08,437 INFO L225 Difference]: With dead ends: 54 [2020-07-17 22:59:08,438 INFO L226 Difference]: Without dead ends: 52 [2020-07-17 22:59:08,438 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 27 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 4.6s TimeCoverageRelationStatistics Valid=30, Invalid=83, Unknown=1, NotChecked=18, Total=132 [2020-07-17 22:59:08,439 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2020-07-17 22:59:08,542 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 52. [2020-07-17 22:59:08,542 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:59:08,543 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand 52 states. [2020-07-17 22:59:08,543 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 52 states. [2020-07-17 22:59:08,543 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 52 states. [2020-07-17 22:59:08,546 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:59:08,546 INFO L93 Difference]: Finished difference Result 52 states and 59 transitions. [2020-07-17 22:59:08,546 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 59 transitions. [2020-07-17 22:59:08,547 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:59:08,547 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:59:08,547 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 52 states. [2020-07-17 22:59:08,547 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 52 states. [2020-07-17 22:59:08,550 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:59:08,551 INFO L93 Difference]: Finished difference Result 52 states and 59 transitions. [2020-07-17 22:59:08,551 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 59 transitions. [2020-07-17 22:59:08,551 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:59:08,551 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:59:08,552 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:59:08,552 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:59:08,552 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 52 states. [2020-07-17 22:59:08,554 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 59 transitions. [2020-07-17 22:59:08,555 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 59 transitions. Word has length 37 [2020-07-17 22:59:08,555 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:59:08,555 INFO L479 AbstractCegarLoop]: Abstraction has 52 states and 59 transitions. [2020-07-17 22:59:08,555 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-17 22:59:08,555 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 59 transitions. [2020-07-17 22:59:08,556 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2020-07-17 22:59:08,556 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:59:08,557 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:59:08,769 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,7 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:59:08,770 INFO L427 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:59:08,771 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:59:08,771 INFO L82 PathProgramCache]: Analyzing trace with hash 1343361060, now seen corresponding path program 1 times [2020-07-17 22:59:08,771 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:59:08,772 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1533253472] [2020-07-17 22:59:08,772 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:59:08,776 ERROR L271 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2020-07-17 22:59:08,776 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1972502229] [2020-07-17 22:59:08,776 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:59:08,797 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:59:08,798 INFO L264 TraceCheckSpWp]: Trace formula consists of 77 conjuncts, 5 conjunts are in the unsatisfiable core [2020-07-17 22:59:08,807 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:59:08,810 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:59:09,078 INFO L263 TraceCheckUtils]: 0: Hoare triple {1684#true} call ULTIMATE.init(); {1684#true} is VALID [2020-07-17 22:59:09,078 INFO L280 TraceCheckUtils]: 1: Hoare triple {1684#true} assume true; {1684#true} is VALID [2020-07-17 22:59:09,078 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1684#true} {1684#true} #55#return; {1684#true} is VALID [2020-07-17 22:59:09,078 INFO L263 TraceCheckUtils]: 3: Hoare triple {1684#true} call #t~ret2 := main(); {1684#true} is VALID [2020-07-17 22:59:09,078 INFO L280 TraceCheckUtils]: 4: Hoare triple {1684#true} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;~A~0 := ~convertDOUBLEToINT(#t~nondet0);havoc #t~nondet0;~R~0 := ~convertDOUBLEToINT(#t~nondet1);havoc #t~nondet1; {1684#true} is VALID [2020-07-17 22:59:09,079 INFO L263 TraceCheckUtils]: 5: Hoare triple {1684#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {1684#true} is VALID [2020-07-17 22:59:09,079 INFO L280 TraceCheckUtils]: 6: Hoare triple {1684#true} ~cond := #in~cond; {1684#true} is VALID [2020-07-17 22:59:09,079 INFO L280 TraceCheckUtils]: 7: Hoare triple {1684#true} assume !(0 == ~cond); {1684#true} is VALID [2020-07-17 22:59:09,079 INFO L280 TraceCheckUtils]: 8: Hoare triple {1684#true} assume true; {1684#true} is VALID [2020-07-17 22:59:09,079 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {1684#true} {1684#true} #59#return; {1684#true} is VALID [2020-07-17 22:59:09,079 INFO L263 TraceCheckUtils]: 10: Hoare triple {1684#true} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {1684#true} is VALID [2020-07-17 22:59:09,080 INFO L280 TraceCheckUtils]: 11: Hoare triple {1684#true} ~cond := #in~cond; {1684#true} is VALID [2020-07-17 22:59:09,080 INFO L280 TraceCheckUtils]: 12: Hoare triple {1684#true} assume !(0 == ~cond); {1684#true} is VALID [2020-07-17 22:59:09,080 INFO L280 TraceCheckUtils]: 13: Hoare triple {1684#true} assume true; {1684#true} is VALID [2020-07-17 22:59:09,080 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {1684#true} {1684#true} #61#return; {1684#true} is VALID [2020-07-17 22:59:09,082 INFO L280 TraceCheckUtils]: 15: Hoare triple {1684#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {1734#(<= main_~v~0 1)} is VALID [2020-07-17 22:59:09,084 INFO L280 TraceCheckUtils]: 16: Hoare triple {1734#(<= main_~v~0 1)} assume !false; {1734#(<= main_~v~0 1)} is VALID [2020-07-17 22:59:09,084 INFO L263 TraceCheckUtils]: 17: Hoare triple {1734#(<= main_~v~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {1684#true} is VALID [2020-07-17 22:59:09,084 INFO L280 TraceCheckUtils]: 18: Hoare triple {1684#true} ~cond := #in~cond; {1684#true} is VALID [2020-07-17 22:59:09,084 INFO L280 TraceCheckUtils]: 19: Hoare triple {1684#true} assume !(0 == ~cond); {1684#true} is VALID [2020-07-17 22:59:09,084 INFO L280 TraceCheckUtils]: 20: Hoare triple {1684#true} assume true; {1684#true} is VALID [2020-07-17 22:59:09,086 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {1684#true} {1734#(<= main_~v~0 1)} #63#return; {1734#(<= main_~v~0 1)} is VALID [2020-07-17 22:59:09,088 INFO L280 TraceCheckUtils]: 22: Hoare triple {1734#(<= main_~v~0 1)} assume !!(0 != ~r~0); {1734#(<= main_~v~0 1)} is VALID [2020-07-17 22:59:09,102 INFO L280 TraceCheckUtils]: 23: Hoare triple {1734#(<= main_~v~0 1)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {1759#(<= 0 main_~r~0)} is VALID [2020-07-17 22:59:09,103 INFO L280 TraceCheckUtils]: 24: Hoare triple {1759#(<= 0 main_~r~0)} assume !false; {1759#(<= 0 main_~r~0)} is VALID [2020-07-17 22:59:09,104 INFO L263 TraceCheckUtils]: 25: Hoare triple {1759#(<= 0 main_~r~0)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {1684#true} is VALID [2020-07-17 22:59:09,104 INFO L280 TraceCheckUtils]: 26: Hoare triple {1684#true} ~cond := #in~cond; {1684#true} is VALID [2020-07-17 22:59:09,104 INFO L280 TraceCheckUtils]: 27: Hoare triple {1684#true} assume !(0 == ~cond); {1684#true} is VALID [2020-07-17 22:59:09,104 INFO L280 TraceCheckUtils]: 28: Hoare triple {1684#true} assume true; {1684#true} is VALID [2020-07-17 22:59:09,106 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {1684#true} {1759#(<= 0 main_~r~0)} #63#return; {1759#(<= 0 main_~r~0)} is VALID [2020-07-17 22:59:09,108 INFO L280 TraceCheckUtils]: 30: Hoare triple {1759#(<= 0 main_~r~0)} assume !!(0 != ~r~0); {1781#(and (not (= 0 main_~r~0)) (<= 0 main_~r~0))} is VALID [2020-07-17 22:59:09,122 INFO L280 TraceCheckUtils]: 31: Hoare triple {1781#(and (not (= 0 main_~r~0)) (<= 0 main_~r~0))} assume !(~r~0 > 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {1685#false} is VALID [2020-07-17 22:59:09,122 INFO L280 TraceCheckUtils]: 32: Hoare triple {1685#false} assume !false; {1685#false} is VALID [2020-07-17 22:59:09,122 INFO L263 TraceCheckUtils]: 33: Hoare triple {1685#false} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {1685#false} is VALID [2020-07-17 22:59:09,122 INFO L280 TraceCheckUtils]: 34: Hoare triple {1685#false} ~cond := #in~cond; {1685#false} is VALID [2020-07-17 22:59:09,123 INFO L280 TraceCheckUtils]: 35: Hoare triple {1685#false} assume 0 == ~cond; {1685#false} is VALID [2020-07-17 22:59:09,123 INFO L280 TraceCheckUtils]: 36: Hoare triple {1685#false} assume !false; {1685#false} is VALID [2020-07-17 22:59:09,124 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 8 proven. 4 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2020-07-17 22:59:09,125 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1533253472] [2020-07-17 22:59:09,125 WARN L333 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: Unknown [2020-07-17 22:59:09,125 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1972502229] [2020-07-17 22:59:09,125 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-17 22:59:09,125 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5] total 5 [2020-07-17 22:59:09,126 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [261533131] [2020-07-17 22:59:09,126 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 37 [2020-07-17 22:59:09,126 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:59:09,126 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-17 22:59:09,325 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:59:09,325 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-17 22:59:09,325 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:59:09,326 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-17 22:59:09,326 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2020-07-17 22:59:09,326 INFO L87 Difference]: Start difference. First operand 52 states and 59 transitions. Second operand 5 states. [2020-07-17 22:59:10,439 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:59:10,440 INFO L93 Difference]: Finished difference Result 62 states and 70 transitions. [2020-07-17 22:59:10,440 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-17 22:59:10,440 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 37 [2020-07-17 22:59:10,440 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:59:10,440 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-17 22:59:10,442 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2020-07-17 22:59:10,442 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-17 22:59:10,444 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2020-07-17 22:59:10,444 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 47 transitions. [2020-07-17 22:59:10,792 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:59:10,794 INFO L225 Difference]: With dead ends: 62 [2020-07-17 22:59:10,794 INFO L226 Difference]: Without dead ends: 52 [2020-07-17 22:59:10,795 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 36 GetRequests, 33 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2020-07-17 22:59:10,795 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2020-07-17 22:59:10,902 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 52. [2020-07-17 22:59:10,903 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:59:10,903 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand 52 states. [2020-07-17 22:59:10,903 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 52 states. [2020-07-17 22:59:10,903 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 52 states. [2020-07-17 22:59:10,906 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:59:10,906 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2020-07-17 22:59:10,906 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2020-07-17 22:59:10,907 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:59:10,907 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:59:10,907 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 52 states. [2020-07-17 22:59:10,907 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 52 states. [2020-07-17 22:59:10,909 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:59:10,910 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2020-07-17 22:59:10,910 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2020-07-17 22:59:10,910 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:59:10,910 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:59:10,911 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:59:10,911 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:59:10,911 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 52 states. [2020-07-17 22:59:10,913 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 58 transitions. [2020-07-17 22:59:10,913 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 58 transitions. Word has length 37 [2020-07-17 22:59:10,914 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:59:10,914 INFO L479 AbstractCegarLoop]: Abstraction has 52 states and 58 transitions. [2020-07-17 22:59:10,914 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-17 22:59:10,914 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2020-07-17 22:59:10,915 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2020-07-17 22:59:10,915 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:59:10,915 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:59:11,128 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,8 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:59:11,129 INFO L427 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:59:11,129 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:59:11,130 INFO L82 PathProgramCache]: Analyzing trace with hash 332243810, now seen corresponding path program 2 times [2020-07-17 22:59:11,130 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:59:11,131 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1315389037] [2020-07-17 22:59:11,131 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:59:11,135 ERROR L271 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2020-07-17 22:59:11,135 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1266795224] [2020-07-17 22:59:11,135 INFO L92 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:59:11,176 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2020-07-17 22:59:11,176 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-17 22:59:11,177 INFO L264 TraceCheckSpWp]: Trace formula consists of 77 conjuncts, 27 conjunts are in the unsatisfiable core [2020-07-17 22:59:13,190 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unknown [2020-07-17 22:59:13,260 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:59:13,572 WARN L193 SmtUtils]: Spent 117.00 ms on a formula simplification that was a NOOP. DAG size: 19 [2020-07-17 22:59:24,326 WARN L193 SmtUtils]: Spent 8.41 s on a formula simplification that was a NOOP. DAG size: 30 [2020-07-17 22:59:39,338 WARN L193 SmtUtils]: Spent 6.44 s on a formula simplification that was a NOOP. DAG size: 33 [2020-07-17 23:00:07,681 WARN L193 SmtUtils]: Spent 6.47 s on a formula simplification that was a NOOP. DAG size: 35 [2020-07-17 23:00:07,865 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 3 disjuncts [2020-07-17 23:00:08,495 INFO L263 TraceCheckUtils]: 0: Hoare triple {2068#true} call ULTIMATE.init(); {2068#true} is VALID [2020-07-17 23:00:08,495 INFO L280 TraceCheckUtils]: 1: Hoare triple {2068#true} assume true; {2068#true} is VALID [2020-07-17 23:00:08,495 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {2068#true} {2068#true} #55#return; {2068#true} is VALID [2020-07-17 23:00:08,496 INFO L263 TraceCheckUtils]: 3: Hoare triple {2068#true} call #t~ret2 := main(); {2068#true} is VALID [2020-07-17 23:00:08,496 INFO L280 TraceCheckUtils]: 4: Hoare triple {2068#true} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;~A~0 := ~convertDOUBLEToINT(#t~nondet0);havoc #t~nondet0;~R~0 := ~convertDOUBLEToINT(#t~nondet1);havoc #t~nondet1; {2068#true} is VALID [2020-07-17 23:00:08,496 INFO L263 TraceCheckUtils]: 5: Hoare triple {2068#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {2068#true} is VALID [2020-07-17 23:00:08,496 INFO L280 TraceCheckUtils]: 6: Hoare triple {2068#true} ~cond := #in~cond; {2068#true} is VALID [2020-07-17 23:00:08,496 INFO L280 TraceCheckUtils]: 7: Hoare triple {2068#true} assume !(0 == ~cond); {2068#true} is VALID [2020-07-17 23:00:08,497 INFO L280 TraceCheckUtils]: 8: Hoare triple {2068#true} assume true; {2068#true} is VALID [2020-07-17 23:00:08,497 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {2068#true} {2068#true} #59#return; {2068#true} is VALID [2020-07-17 23:00:08,497 INFO L263 TraceCheckUtils]: 10: Hoare triple {2068#true} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {2068#true} is VALID [2020-07-17 23:00:08,497 INFO L280 TraceCheckUtils]: 11: Hoare triple {2068#true} ~cond := #in~cond; {2068#true} is VALID [2020-07-17 23:00:08,498 INFO L280 TraceCheckUtils]: 12: Hoare triple {2068#true} assume !(0 == ~cond); {2068#true} is VALID [2020-07-17 23:00:08,498 INFO L280 TraceCheckUtils]: 13: Hoare triple {2068#true} assume true; {2068#true} is VALID [2020-07-17 23:00:08,498 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {2068#true} {2068#true} #61#return; {2068#true} is VALID [2020-07-17 23:00:10,557 INFO L280 TraceCheckUtils]: 15: Hoare triple {2068#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {2118#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= 0 (mod (+ main_~u~0 1) (- 2))))} is UNKNOWN [2020-07-17 23:00:10,559 INFO L280 TraceCheckUtils]: 16: Hoare triple {2118#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= 0 (mod (+ main_~u~0 1) (- 2))))} assume !false; {2118#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= 0 (mod (+ main_~u~0 1) (- 2))))} is VALID [2020-07-17 23:00:10,559 INFO L263 TraceCheckUtils]: 17: Hoare triple {2118#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= 0 (mod (+ main_~u~0 1) (- 2))))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2068#true} is VALID [2020-07-17 23:00:10,561 INFO L280 TraceCheckUtils]: 18: Hoare triple {2068#true} ~cond := #in~cond; {2128#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2020-07-17 23:00:10,564 INFO L280 TraceCheckUtils]: 19: Hoare triple {2128#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2132#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 23:00:10,566 INFO L280 TraceCheckUtils]: 20: Hoare triple {2132#(not (= 0 |__VERIFIER_assert_#in~cond|))} assume true; {2132#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 23:00:10,568 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {2132#(not (= 0 |__VERIFIER_assert_#in~cond|))} {2118#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= 0 (mod (+ main_~u~0 1) (- 2))))} #63#return; {2139#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0)) (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0))) (= 0 (mod (+ main_~u~0 1) (- 2))))} is VALID [2020-07-17 23:00:10,571 INFO L280 TraceCheckUtils]: 22: Hoare triple {2139#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0)) (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0))) (= 0 (mod (+ main_~u~0 1) (- 2))))} assume !!(0 != ~r~0); {2139#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0)) (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0))) (= 0 (mod (+ main_~u~0 1) (- 2))))} is VALID [2020-07-17 23:00:12,641 INFO L280 TraceCheckUtils]: 23: Hoare triple {2139#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0)) (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0))) (= 0 (mod (+ main_~u~0 1) (- 2))))} assume !(~r~0 > 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {2146#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0 2) (+ main_~u~0 (* (div (+ (* main_~u~0 (- 1)) 3) (- 2)) (div (+ (* main_~u~0 (- 1)) 3) (- 2))))) (= (+ (* main_~v~0 main_~v~0) (* 6 main_~u~0) (* 4 (* (div (+ (* main_~u~0 (- 1)) 3) (- 2)) (div (+ (* main_~u~0 (- 1)) 3) (- 2))))) (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0) 8)) (= 0 (mod (+ main_~u~0 1) (- 2))))} is UNKNOWN [2020-07-17 23:00:12,644 INFO L280 TraceCheckUtils]: 24: Hoare triple {2146#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0 2) (+ main_~u~0 (* (div (+ (* main_~u~0 (- 1)) 3) (- 2)) (div (+ (* main_~u~0 (- 1)) 3) (- 2))))) (= (+ (* main_~v~0 main_~v~0) (* 6 main_~u~0) (* 4 (* (div (+ (* main_~u~0 (- 1)) 3) (- 2)) (div (+ (* main_~u~0 (- 1)) 3) (- 2))))) (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0) 8)) (= 0 (mod (+ main_~u~0 1) (- 2))))} assume !false; {2146#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0 2) (+ main_~u~0 (* (div (+ (* main_~u~0 (- 1)) 3) (- 2)) (div (+ (* main_~u~0 (- 1)) 3) (- 2))))) (= (+ (* main_~v~0 main_~v~0) (* 6 main_~u~0) (* 4 (* (div (+ (* main_~u~0 (- 1)) 3) (- 2)) (div (+ (* main_~u~0 (- 1)) 3) (- 2))))) (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0) 8)) (= 0 (mod (+ main_~u~0 1) (- 2))))} is VALID [2020-07-17 23:00:12,644 INFO L263 TraceCheckUtils]: 25: Hoare triple {2146#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0 2) (+ main_~u~0 (* (div (+ (* main_~u~0 (- 1)) 3) (- 2)) (div (+ (* main_~u~0 (- 1)) 3) (- 2))))) (= (+ (* main_~v~0 main_~v~0) (* 6 main_~u~0) (* 4 (* (div (+ (* main_~u~0 (- 1)) 3) (- 2)) (div (+ (* main_~u~0 (- 1)) 3) (- 2))))) (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0) 8)) (= 0 (mod (+ main_~u~0 1) (- 2))))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2068#true} is VALID [2020-07-17 23:00:12,646 INFO L280 TraceCheckUtils]: 26: Hoare triple {2068#true} ~cond := #in~cond; {2128#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2020-07-17 23:00:12,647 INFO L280 TraceCheckUtils]: 27: Hoare triple {2128#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2132#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 23:00:12,649 INFO L280 TraceCheckUtils]: 28: Hoare triple {2132#(not (= 0 |__VERIFIER_assert_#in~cond|))} assume true; {2132#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 23:00:12,651 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {2132#(not (= 0 |__VERIFIER_assert_#in~cond|))} {2146#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0 2) (+ main_~u~0 (* (div (+ (* main_~u~0 (- 1)) 3) (- 2)) (div (+ (* main_~u~0 (- 1)) 3) (- 2))))) (= (+ (* main_~v~0 main_~v~0) (* 6 main_~u~0) (* 4 (* (div (+ (* main_~u~0 (- 1)) 3) (- 2)) (div (+ (* main_~u~0 (- 1)) 3) (- 2))))) (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0) 8)) (= 0 (mod (+ main_~u~0 1) (- 2))))} #63#return; {2146#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0 2) (+ main_~u~0 (* (div (+ (* main_~u~0 (- 1)) 3) (- 2)) (div (+ (* main_~u~0 (- 1)) 3) (- 2))))) (= (+ (* main_~v~0 main_~v~0) (* 6 main_~u~0) (* 4 (* (div (+ (* main_~u~0 (- 1)) 3) (- 2)) (div (+ (* main_~u~0 (- 1)) 3) (- 2))))) (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0) 8)) (= 0 (mod (+ main_~u~0 1) (- 2))))} is VALID [2020-07-17 23:00:12,654 INFO L280 TraceCheckUtils]: 30: Hoare triple {2146#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0 2) (+ main_~u~0 (* (div (+ (* main_~u~0 (- 1)) 3) (- 2)) (div (+ (* main_~u~0 (- 1)) 3) (- 2))))) (= (+ (* main_~v~0 main_~v~0) (* 6 main_~u~0) (* 4 (* (div (+ (* main_~u~0 (- 1)) 3) (- 2)) (div (+ (* main_~u~0 (- 1)) 3) (- 2))))) (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0) 8)) (= 0 (mod (+ main_~u~0 1) (- 2))))} assume !!(0 != ~r~0); {2146#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0 2) (+ main_~u~0 (* (div (+ (* main_~u~0 (- 1)) 3) (- 2)) (div (+ (* main_~u~0 (- 1)) 3) (- 2))))) (= (+ (* main_~v~0 main_~v~0) (* 6 main_~u~0) (* 4 (* (div (+ (* main_~u~0 (- 1)) 3) (- 2)) (div (+ (* main_~u~0 (- 1)) 3) (- 2))))) (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0) 8)) (= 0 (mod (+ main_~u~0 1) (- 2))))} is VALID [2020-07-17 23:00:14,738 INFO L280 TraceCheckUtils]: 31: Hoare triple {2146#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0 2) (+ main_~u~0 (* (div (+ (* main_~u~0 (- 1)) 3) (- 2)) (div (+ (* main_~u~0 (- 1)) 3) (- 2))))) (= (+ (* main_~v~0 main_~v~0) (* 6 main_~u~0) (* 4 (* (div (+ (* main_~u~0 (- 1)) 3) (- 2)) (div (+ (* main_~u~0 (- 1)) 3) (- 2))))) (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0) 8)) (= 0 (mod (+ main_~u~0 1) (- 2))))} assume !(~r~0 > 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {2171#(and (= 1 main_~v~0) (= (+ (* 2 main_~u~0) (* (div (+ (* main_~u~0 (- 1)) 5) (- 2)) (div (+ (* main_~u~0 (- 1)) 5) (- 2)))) (+ main_~r~0 main_~A~0 6)) (= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0) 24) (+ (* main_~v~0 main_~v~0) (* 10 main_~u~0) (* 4 (* (div (+ (* main_~u~0 (- 1)) 5) (- 2)) (div (+ (* main_~u~0 (- 1)) 5) (- 2)))))) (= 0 (mod (+ main_~u~0 1) (- 2))))} is UNKNOWN [2020-07-17 23:00:14,740 INFO L280 TraceCheckUtils]: 32: Hoare triple {2171#(and (= 1 main_~v~0) (= (+ (* 2 main_~u~0) (* (div (+ (* main_~u~0 (- 1)) 5) (- 2)) (div (+ (* main_~u~0 (- 1)) 5) (- 2)))) (+ main_~r~0 main_~A~0 6)) (= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0) 24) (+ (* main_~v~0 main_~v~0) (* 10 main_~u~0) (* 4 (* (div (+ (* main_~u~0 (- 1)) 5) (- 2)) (div (+ (* main_~u~0 (- 1)) 5) (- 2)))))) (= 0 (mod (+ main_~u~0 1) (- 2))))} assume !false; {2171#(and (= 1 main_~v~0) (= (+ (* 2 main_~u~0) (* (div (+ (* main_~u~0 (- 1)) 5) (- 2)) (div (+ (* main_~u~0 (- 1)) 5) (- 2)))) (+ main_~r~0 main_~A~0 6)) (= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0) 24) (+ (* main_~v~0 main_~v~0) (* 10 main_~u~0) (* 4 (* (div (+ (* main_~u~0 (- 1)) 5) (- 2)) (div (+ (* main_~u~0 (- 1)) 5) (- 2)))))) (= 0 (mod (+ main_~u~0 1) (- 2))))} is VALID [2020-07-17 23:00:14,783 INFO L263 TraceCheckUtils]: 33: Hoare triple {2171#(and (= 1 main_~v~0) (= (+ (* 2 main_~u~0) (* (div (+ (* main_~u~0 (- 1)) 5) (- 2)) (div (+ (* main_~u~0 (- 1)) 5) (- 2)))) (+ main_~r~0 main_~A~0 6)) (= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0) 24) (+ (* main_~v~0 main_~v~0) (* 10 main_~u~0) (* 4 (* (div (+ (* main_~u~0 (- 1)) 5) (- 2)) (div (+ (* main_~u~0 (- 1)) 5) (- 2)))))) (= 0 (mod (+ main_~u~0 1) (- 2))))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2178#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2020-07-17 23:00:14,785 INFO L280 TraceCheckUtils]: 34: Hoare triple {2178#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2182#(<= 1 __VERIFIER_assert_~cond)} is VALID [2020-07-17 23:00:14,787 INFO L280 TraceCheckUtils]: 35: Hoare triple {2182#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2069#false} is VALID [2020-07-17 23:00:14,787 INFO L280 TraceCheckUtils]: 36: Hoare triple {2069#false} assume !false; {2069#false} is VALID [2020-07-17 23:00:14,792 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 2 proven. 2 refuted. 8 times theorem prover too weak. 8 trivial. 0 not checked. [2020-07-17 23:00:14,793 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1315389037] [2020-07-17 23:00:14,793 WARN L333 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: Unknown [2020-07-17 23:00:14,793 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1266795224] [2020-07-17 23:00:14,793 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-17 23:00:14,793 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2020-07-17 23:00:14,794 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1852037079] [2020-07-17 23:00:14,794 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 37 [2020-07-17 23:00:14,794 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 23:00:14,794 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-17 23:00:21,476 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 28 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2020-07-17 23:00:21,476 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-17 23:00:21,476 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 23:00:21,477 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-17 23:00:21,477 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=60, Unknown=11, NotChecked=0, Total=90 [2020-07-17 23:00:21,477 INFO L87 Difference]: Start difference. First operand 52 states and 58 transitions. Second operand 10 states. [2020-07-17 23:02:40,459 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 23:02:40,459 INFO L93 Difference]: Finished difference Result 64 states and 72 transitions. [2020-07-17 23:02:40,460 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2020-07-17 23:02:40,460 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 37 [2020-07-17 23:02:40,460 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 23:02:40,460 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-17 23:02:40,462 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 47 transitions. [2020-07-17 23:02:40,462 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-17 23:02:40,463 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 47 transitions. [2020-07-17 23:02:40,464 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 47 transitions. [2020-07-17 23:02:47,558 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 44 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2020-07-17 23:02:47,560 INFO L225 Difference]: With dead ends: 64 [2020-07-17 23:02:47,560 INFO L226 Difference]: Without dead ends: 62 [2020-07-17 23:02:47,561 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 27 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 54.7s TimeCoverageRelationStatistics Valid=30, Invalid=91, Unknown=11, NotChecked=0, Total=132 [2020-07-17 23:02:47,561 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 62 states. [2020-07-17 23:02:47,720 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 62 to 60. [2020-07-17 23:02:47,720 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 23:02:47,720 INFO L82 GeneralOperation]: Start isEquivalent. First operand 62 states. Second operand 60 states. [2020-07-17 23:02:47,720 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand 60 states. [2020-07-17 23:02:47,720 INFO L87 Difference]: Start difference. First operand 62 states. Second operand 60 states. [2020-07-17 23:02:47,723 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 23:02:47,724 INFO L93 Difference]: Finished difference Result 62 states and 70 transitions. [2020-07-17 23:02:47,724 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 70 transitions. [2020-07-17 23:02:47,724 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 23:02:47,724 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 23:02:47,724 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand 62 states. [2020-07-17 23:02:47,725 INFO L87 Difference]: Start difference. First operand 60 states. Second operand 62 states. [2020-07-17 23:02:47,727 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 23:02:47,728 INFO L93 Difference]: Finished difference Result 62 states and 70 transitions. [2020-07-17 23:02:47,728 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 70 transitions. [2020-07-17 23:02:47,728 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 23:02:47,729 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 23:02:47,729 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 23:02:47,729 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 23:02:47,729 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 60 states. [2020-07-17 23:02:47,731 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 67 transitions. [2020-07-17 23:02:47,732 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 67 transitions. Word has length 37 [2020-07-17 23:02:47,732 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 23:02:47,732 INFO L479 AbstractCegarLoop]: Abstraction has 60 states and 67 transitions. [2020-07-17 23:02:47,732 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-17 23:02:47,732 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 67 transitions. [2020-07-17 23:02:47,733 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2020-07-17 23:02:47,733 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 23:02:47,733 INFO L422 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 23:02:47,949 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable7 [2020-07-17 23:02:47,950 INFO L427 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 23:02:47,951 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 23:02:47,951 INFO L82 PathProgramCache]: Analyzing trace with hash 584019147, now seen corresponding path program 3 times [2020-07-17 23:02:47,952 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 23:02:47,952 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [817035214] [2020-07-17 23:02:47,952 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 23:02:47,956 ERROR L271 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2020-07-17 23:02:47,956 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1419259222] [2020-07-17 23:02:47,956 INFO L92 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 23:02:47,992 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2020-07-17 23:02:47,993 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-17 23:02:47,993 INFO L264 TraceCheckSpWp]: Trace formula consists of 61 conjuncts, 16 conjunts are in the unsatisfiable core [2020-07-17 23:02:50,023 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unknown [2020-07-17 23:02:50,069 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 23:02:52,910 WARN L838 $PredicateComparison]: unable to prove that (and (= (+ (* c_main_~u~0 c_main_~u~0) (* 2 c_main_~v~0)) (+ (* c_main_~v~0 c_main_~v~0) (* 2 c_main_~u~0) (* 4 c_main_~r~0) (* 4 c_main_~A~0))) (= 0 (mod (+ c_main_~u~0 1) (- 2)))) is different from false [2020-07-17 23:02:55,586 WARN L193 SmtUtils]: Spent 2.24 s on a formula simplification that was a NOOP. DAG size: 22 [2020-07-17 23:02:55,775 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-17 23:02:58,318 INFO L263 TraceCheckUtils]: 0: Hoare triple {2494#true} call ULTIMATE.init(); {2494#true} is VALID [2020-07-17 23:02:58,319 INFO L280 TraceCheckUtils]: 1: Hoare triple {2494#true} assume true; {2494#true} is VALID [2020-07-17 23:02:58,319 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {2494#true} {2494#true} #55#return; {2494#true} is VALID [2020-07-17 23:02:58,319 INFO L263 TraceCheckUtils]: 3: Hoare triple {2494#true} call #t~ret2 := main(); {2494#true} is VALID [2020-07-17 23:02:58,319 INFO L280 TraceCheckUtils]: 4: Hoare triple {2494#true} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;~A~0 := ~convertDOUBLEToINT(#t~nondet0);havoc #t~nondet0;~R~0 := ~convertDOUBLEToINT(#t~nondet1);havoc #t~nondet1; {2494#true} is VALID [2020-07-17 23:02:58,319 INFO L263 TraceCheckUtils]: 5: Hoare triple {2494#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {2494#true} is VALID [2020-07-17 23:02:58,319 INFO L280 TraceCheckUtils]: 6: Hoare triple {2494#true} ~cond := #in~cond; {2494#true} is VALID [2020-07-17 23:02:58,320 INFO L280 TraceCheckUtils]: 7: Hoare triple {2494#true} assume !(0 == ~cond); {2494#true} is VALID [2020-07-17 23:02:58,320 INFO L280 TraceCheckUtils]: 8: Hoare triple {2494#true} assume true; {2494#true} is VALID [2020-07-17 23:02:58,320 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {2494#true} {2494#true} #59#return; {2494#true} is VALID [2020-07-17 23:02:58,320 INFO L263 TraceCheckUtils]: 10: Hoare triple {2494#true} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {2494#true} is VALID [2020-07-17 23:02:58,320 INFO L280 TraceCheckUtils]: 11: Hoare triple {2494#true} ~cond := #in~cond; {2494#true} is VALID [2020-07-17 23:02:58,321 INFO L280 TraceCheckUtils]: 12: Hoare triple {2494#true} assume !(0 == ~cond); {2494#true} is VALID [2020-07-17 23:02:58,321 INFO L280 TraceCheckUtils]: 13: Hoare triple {2494#true} assume true; {2494#true} is VALID [2020-07-17 23:02:58,322 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {2494#true} {2494#true} #61#return; {2494#true} is VALID [2020-07-17 23:02:58,358 INFO L280 TraceCheckUtils]: 15: Hoare triple {2494#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {2544#(= 0 (mod (+ main_~u~0 1) (- 2)))} is VALID [2020-07-17 23:02:58,362 INFO L280 TraceCheckUtils]: 16: Hoare triple {2544#(= 0 (mod (+ main_~u~0 1) (- 2)))} assume !false; {2544#(= 0 (mod (+ main_~u~0 1) (- 2)))} is VALID [2020-07-17 23:02:58,363 INFO L263 TraceCheckUtils]: 17: Hoare triple {2544#(= 0 (mod (+ main_~u~0 1) (- 2)))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2494#true} is VALID [2020-07-17 23:02:58,363 INFO L280 TraceCheckUtils]: 18: Hoare triple {2494#true} ~cond := #in~cond; {2494#true} is VALID [2020-07-17 23:02:58,363 INFO L280 TraceCheckUtils]: 19: Hoare triple {2494#true} assume !(0 == ~cond); {2494#true} is VALID [2020-07-17 23:02:58,363 INFO L280 TraceCheckUtils]: 20: Hoare triple {2494#true} assume true; {2494#true} is VALID [2020-07-17 23:02:58,369 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {2494#true} {2544#(= 0 (mod (+ main_~u~0 1) (- 2)))} #63#return; {2544#(= 0 (mod (+ main_~u~0 1) (- 2)))} is VALID [2020-07-17 23:02:58,371 INFO L280 TraceCheckUtils]: 22: Hoare triple {2544#(= 0 (mod (+ main_~u~0 1) (- 2)))} assume !!(0 != ~r~0); {2544#(= 0 (mod (+ main_~u~0 1) (- 2)))} is VALID [2020-07-17 23:02:58,372 INFO L280 TraceCheckUtils]: 23: Hoare triple {2544#(= 0 (mod (+ main_~u~0 1) (- 2)))} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {2544#(= 0 (mod (+ main_~u~0 1) (- 2)))} is VALID [2020-07-17 23:02:58,374 INFO L280 TraceCheckUtils]: 24: Hoare triple {2544#(= 0 (mod (+ main_~u~0 1) (- 2)))} assume !false; {2544#(= 0 (mod (+ main_~u~0 1) (- 2)))} is VALID [2020-07-17 23:02:58,375 INFO L263 TraceCheckUtils]: 25: Hoare triple {2544#(= 0 (mod (+ main_~u~0 1) (- 2)))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2494#true} is VALID [2020-07-17 23:02:58,375 INFO L280 TraceCheckUtils]: 26: Hoare triple {2494#true} ~cond := #in~cond; {2494#true} is VALID [2020-07-17 23:02:58,375 INFO L280 TraceCheckUtils]: 27: Hoare triple {2494#true} assume !(0 == ~cond); {2494#true} is VALID [2020-07-17 23:02:58,375 INFO L280 TraceCheckUtils]: 28: Hoare triple {2494#true} assume true; {2494#true} is VALID [2020-07-17 23:02:58,377 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {2494#true} {2544#(= 0 (mod (+ main_~u~0 1) (- 2)))} #63#return; {2544#(= 0 (mod (+ main_~u~0 1) (- 2)))} is VALID [2020-07-17 23:02:58,379 INFO L280 TraceCheckUtils]: 30: Hoare triple {2544#(= 0 (mod (+ main_~u~0 1) (- 2)))} assume !!(0 != ~r~0); {2544#(= 0 (mod (+ main_~u~0 1) (- 2)))} is VALID [2020-07-17 23:02:58,381 INFO L280 TraceCheckUtils]: 31: Hoare triple {2544#(= 0 (mod (+ main_~u~0 1) (- 2)))} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {2544#(= 0 (mod (+ main_~u~0 1) (- 2)))} is VALID [2020-07-17 23:02:58,383 INFO L280 TraceCheckUtils]: 32: Hoare triple {2544#(= 0 (mod (+ main_~u~0 1) (- 2)))} assume !false; {2544#(= 0 (mod (+ main_~u~0 1) (- 2)))} is VALID [2020-07-17 23:02:58,383 INFO L263 TraceCheckUtils]: 33: Hoare triple {2544#(= 0 (mod (+ main_~u~0 1) (- 2)))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2494#true} is VALID [2020-07-17 23:02:58,385 INFO L280 TraceCheckUtils]: 34: Hoare triple {2494#true} ~cond := #in~cond; {2602#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2020-07-17 23:02:58,387 INFO L280 TraceCheckUtils]: 35: Hoare triple {2602#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2606#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 23:02:58,389 INFO L280 TraceCheckUtils]: 36: Hoare triple {2606#(not (= 0 |__VERIFIER_assert_#in~cond|))} assume true; {2606#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 23:02:58,391 INFO L275 TraceCheckUtils]: 37: Hoare quadruple {2606#(not (= 0 |__VERIFIER_assert_#in~cond|))} {2544#(= 0 (mod (+ main_~u~0 1) (- 2)))} #63#return; {2613#(and (= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0)) (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0))) (= 0 (mod (+ main_~u~0 1) (- 2))))} is VALID [2020-07-17 23:02:58,393 INFO L280 TraceCheckUtils]: 38: Hoare triple {2613#(and (= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0)) (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0))) (= 0 (mod (+ main_~u~0 1) (- 2))))} assume !!(0 != ~r~0); {2613#(and (= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0)) (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0))) (= 0 (mod (+ main_~u~0 1) (- 2))))} is VALID [2020-07-17 23:03:00,462 INFO L280 TraceCheckUtils]: 39: Hoare triple {2613#(and (= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0)) (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0))) (= 0 (mod (+ main_~u~0 1) (- 2))))} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {2620#(and (= (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0)) (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0))) (= 0 (mod (+ main_~u~0 1) (- 2))))} is UNKNOWN [2020-07-17 23:03:00,465 INFO L280 TraceCheckUtils]: 40: Hoare triple {2620#(and (= (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0)) (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0))) (= 0 (mod (+ main_~u~0 1) (- 2))))} assume !false; {2620#(and (= (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0)) (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0))) (= 0 (mod (+ main_~u~0 1) (- 2))))} is VALID [2020-07-17 23:03:00,467 INFO L263 TraceCheckUtils]: 41: Hoare triple {2620#(and (= (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0)) (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0))) (= 0 (mod (+ main_~u~0 1) (- 2))))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2627#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2020-07-17 23:03:00,469 INFO L280 TraceCheckUtils]: 42: Hoare triple {2627#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2631#(<= 1 __VERIFIER_assert_~cond)} is VALID [2020-07-17 23:03:00,472 INFO L280 TraceCheckUtils]: 43: Hoare triple {2631#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2495#false} is VALID [2020-07-17 23:03:00,472 INFO L280 TraceCheckUtils]: 44: Hoare triple {2495#false} assume !false; {2495#false} is VALID [2020-07-17 23:03:00,475 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 17 proven. 1 refuted. 0 times theorem prover too weak. 18 trivial. 4 not checked. [2020-07-17 23:03:00,475 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [817035214] [2020-07-17 23:03:00,475 WARN L333 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: Unknown [2020-07-17 23:03:00,475 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1419259222] [2020-07-17 23:03:00,475 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-17 23:03:00,476 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2020-07-17 23:03:00,476 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [93598131] [2020-07-17 23:03:00,476 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 45 [2020-07-17 23:03:00,477 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 23:03:00,477 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-17 23:03:02,902 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 31 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2020-07-17 23:03:02,902 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-17 23:03:02,902 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 23:03:02,902 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-17 23:03:02,903 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=41, Unknown=2, NotChecked=12, Total=72 [2020-07-17 23:03:02,903 INFO L87 Difference]: Start difference. First operand 60 states and 67 transitions. Second operand 9 states. [2020-07-17 23:03:44,640 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 23:03:44,641 INFO L93 Difference]: Finished difference Result 68 states and 75 transitions. [2020-07-17 23:03:44,641 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2020-07-17 23:03:44,641 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 45 [2020-07-17 23:03:44,642 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 23:03:44,642 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-17 23:03:44,643 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 32 transitions. [2020-07-17 23:03:44,643 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-17 23:03:44,644 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 32 transitions. [2020-07-17 23:03:44,645 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 32 transitions. [2020-07-17 23:03:47,127 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 31 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2020-07-17 23:03:47,129 INFO L225 Difference]: With dead ends: 68 [2020-07-17 23:03:47,129 INFO L226 Difference]: Without dead ends: 66 [2020-07-17 23:03:47,130 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 47 GetRequests, 37 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 9.8s TimeCoverageRelationStatistics Valid=28, Invalid=64, Unknown=2, NotChecked=16, Total=110 [2020-07-17 23:03:47,131 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2020-07-17 23:03:47,302 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 60. [2020-07-17 23:03:47,302 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 23:03:47,302 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand 60 states. [2020-07-17 23:03:47,303 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand 60 states. [2020-07-17 23:03:47,303 INFO L87 Difference]: Start difference. First operand 66 states. Second operand 60 states. [2020-07-17 23:03:47,306 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 23:03:47,306 INFO L93 Difference]: Finished difference Result 66 states and 73 transitions. [2020-07-17 23:03:47,306 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 73 transitions. [2020-07-17 23:03:47,307 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 23:03:47,307 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 23:03:47,307 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand 66 states. [2020-07-17 23:03:47,307 INFO L87 Difference]: Start difference. First operand 60 states. Second operand 66 states. [2020-07-17 23:03:47,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 23:03:47,310 INFO L93 Difference]: Finished difference Result 66 states and 73 transitions. [2020-07-17 23:03:47,310 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 73 transitions. [2020-07-17 23:03:47,311 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 23:03:47,311 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 23:03:47,311 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 23:03:47,311 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 23:03:47,311 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 60 states. [2020-07-17 23:03:47,314 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 67 transitions. [2020-07-17 23:03:47,314 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 67 transitions. Word has length 45 [2020-07-17 23:03:47,314 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 23:03:47,315 INFO L479 AbstractCegarLoop]: Abstraction has 60 states and 67 transitions. [2020-07-17 23:03:47,315 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-17 23:03:47,315 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 67 transitions. [2020-07-17 23:03:47,315 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2020-07-17 23:03:47,315 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 23:03:47,316 INFO L422 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 23:03:47,523 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,10 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 23:03:47,524 INFO L427 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 23:03:47,525 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 23:03:47,525 INFO L82 PathProgramCache]: Analyzing trace with hash 641277449, now seen corresponding path program 2 times [2020-07-17 23:03:47,525 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 23:03:47,525 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [713523226] [2020-07-17 23:03:47,526 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 23:03:47,530 ERROR L271 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2020-07-17 23:03:47,530 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1013966625] [2020-07-17 23:03:47,530 INFO L92 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 23:03:47,566 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2020-07-17 23:03:47,566 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-17 23:03:47,567 INFO L264 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 27 conjunts are in the unsatisfiable core [2020-07-17 23:03:49,586 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unknown [2020-07-17 23:03:49,662 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 23:03:50,048 WARN L193 SmtUtils]: Spent 154.00 ms on a formula simplification that was a NOOP. DAG size: 19 [2020-07-17 23:04:01,091 WARN L193 SmtUtils]: Spent 8.62 s on a formula simplification that was a NOOP. DAG size: 30 [2020-07-17 23:04:08,174 WARN L193 SmtUtils]: Spent 6.57 s on a formula simplification that was a NOOP. DAG size: 26 [2020-07-17 23:04:18,585 WARN L193 SmtUtils]: Spent 4.62 s on a formula simplification that was a NOOP. DAG size: 21 [2020-07-17 23:04:28,764 WARN L193 SmtUtils]: Spent 6.62 s on a formula simplification that was a NOOP. DAG size: 31 [2020-07-17 23:04:47,170 WARN L193 SmtUtils]: Spent 4.91 s on a formula simplification that was a NOOP. DAG size: 35 [2020-07-17 23:04:49,487 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-17 23:04:52,698 INFO L263 TraceCheckUtils]: 0: Hoare triple {2959#true} call ULTIMATE.init(); {2959#true} is VALID [2020-07-17 23:04:52,698 INFO L280 TraceCheckUtils]: 1: Hoare triple {2959#true} assume true; {2959#true} is VALID [2020-07-17 23:04:52,699 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {2959#true} {2959#true} #55#return; {2959#true} is VALID [2020-07-17 23:04:52,699 INFO L263 TraceCheckUtils]: 3: Hoare triple {2959#true} call #t~ret2 := main(); {2959#true} is VALID [2020-07-17 23:04:52,699 INFO L280 TraceCheckUtils]: 4: Hoare triple {2959#true} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;~A~0 := ~convertDOUBLEToINT(#t~nondet0);havoc #t~nondet0;~R~0 := ~convertDOUBLEToINT(#t~nondet1);havoc #t~nondet1; {2959#true} is VALID [2020-07-17 23:04:52,700 INFO L263 TraceCheckUtils]: 5: Hoare triple {2959#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {2959#true} is VALID [2020-07-17 23:04:52,700 INFO L280 TraceCheckUtils]: 6: Hoare triple {2959#true} ~cond := #in~cond; {2959#true} is VALID [2020-07-17 23:04:52,700 INFO L280 TraceCheckUtils]: 7: Hoare triple {2959#true} assume !(0 == ~cond); {2959#true} is VALID [2020-07-17 23:04:52,701 INFO L280 TraceCheckUtils]: 8: Hoare triple {2959#true} assume true; {2959#true} is VALID [2020-07-17 23:04:52,701 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {2959#true} {2959#true} #59#return; {2959#true} is VALID [2020-07-17 23:04:52,701 INFO L263 TraceCheckUtils]: 10: Hoare triple {2959#true} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {2959#true} is VALID [2020-07-17 23:04:52,701 INFO L280 TraceCheckUtils]: 11: Hoare triple {2959#true} ~cond := #in~cond; {2959#true} is VALID [2020-07-17 23:04:52,701 INFO L280 TraceCheckUtils]: 12: Hoare triple {2959#true} assume !(0 == ~cond); {2959#true} is VALID [2020-07-17 23:04:52,702 INFO L280 TraceCheckUtils]: 13: Hoare triple {2959#true} assume true; {2959#true} is VALID [2020-07-17 23:04:52,702 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {2959#true} {2959#true} #61#return; {2959#true} is VALID [2020-07-17 23:04:54,872 INFO L280 TraceCheckUtils]: 15: Hoare triple {2959#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {3009#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= 0 (mod (+ main_~u~0 1) (- 2))))} is UNKNOWN [2020-07-17 23:04:54,874 INFO L280 TraceCheckUtils]: 16: Hoare triple {3009#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= 0 (mod (+ main_~u~0 1) (- 2))))} assume !false; {3009#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= 0 (mod (+ main_~u~0 1) (- 2))))} is VALID [2020-07-17 23:04:54,874 INFO L263 TraceCheckUtils]: 17: Hoare triple {3009#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= 0 (mod (+ main_~u~0 1) (- 2))))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2959#true} is VALID [2020-07-17 23:04:54,876 INFO L280 TraceCheckUtils]: 18: Hoare triple {2959#true} ~cond := #in~cond; {3019#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2020-07-17 23:04:54,878 INFO L280 TraceCheckUtils]: 19: Hoare triple {3019#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3023#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 23:04:54,880 INFO L280 TraceCheckUtils]: 20: Hoare triple {3023#(not (= 0 |__VERIFIER_assert_#in~cond|))} assume true; {3023#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 23:04:54,883 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {3023#(not (= 0 |__VERIFIER_assert_#in~cond|))} {3009#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= 0 (mod (+ main_~u~0 1) (- 2))))} #63#return; {3030#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0)) (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0))) (= 0 (mod (+ main_~u~0 1) (- 2))))} is VALID [2020-07-17 23:04:54,885 INFO L280 TraceCheckUtils]: 22: Hoare triple {3030#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0)) (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0))) (= 0 (mod (+ main_~u~0 1) (- 2))))} assume !!(0 != ~r~0); {3030#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0)) (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0))) (= 0 (mod (+ main_~u~0 1) (- 2))))} is VALID [2020-07-17 23:04:54,967 INFO L280 TraceCheckUtils]: 23: Hoare triple {3030#(and (= 1 main_~v~0) (= (+ main_~r~0 main_~A~0) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0)) (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0))) (= 0 (mod (+ main_~u~0 1) (- 2))))} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {3037#(and (= (* main_~u~0 main_~u~0) (+ (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0) 3)) (= (+ main_~r~0 main_~A~0 1) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= 0 (mod (+ main_~u~0 1) (- 2))))} is VALID [2020-07-17 23:04:54,969 INFO L280 TraceCheckUtils]: 24: Hoare triple {3037#(and (= (* main_~u~0 main_~u~0) (+ (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0) 3)) (= (+ main_~r~0 main_~A~0 1) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= 0 (mod (+ main_~u~0 1) (- 2))))} assume !false; {3037#(and (= (* main_~u~0 main_~u~0) (+ (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0) 3)) (= (+ main_~r~0 main_~A~0 1) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= 0 (mod (+ main_~u~0 1) (- 2))))} is VALID [2020-07-17 23:04:54,970 INFO L263 TraceCheckUtils]: 25: Hoare triple {3037#(and (= (* main_~u~0 main_~u~0) (+ (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0) 3)) (= (+ main_~r~0 main_~A~0 1) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= 0 (mod (+ main_~u~0 1) (- 2))))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2959#true} is VALID [2020-07-17 23:04:54,970 INFO L280 TraceCheckUtils]: 26: Hoare triple {2959#true} ~cond := #in~cond; {2959#true} is VALID [2020-07-17 23:04:54,970 INFO L280 TraceCheckUtils]: 27: Hoare triple {2959#true} assume !(0 == ~cond); {2959#true} is VALID [2020-07-17 23:04:54,970 INFO L280 TraceCheckUtils]: 28: Hoare triple {2959#true} assume true; {2959#true} is VALID [2020-07-17 23:04:54,972 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {2959#true} {3037#(and (= (* main_~u~0 main_~u~0) (+ (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0) 3)) (= (+ main_~r~0 main_~A~0 1) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= 0 (mod (+ main_~u~0 1) (- 2))))} #63#return; {3037#(and (= (* main_~u~0 main_~u~0) (+ (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0) 3)) (= (+ main_~r~0 main_~A~0 1) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= 0 (mod (+ main_~u~0 1) (- 2))))} is VALID [2020-07-17 23:04:54,975 INFO L280 TraceCheckUtils]: 30: Hoare triple {3037#(and (= (* main_~u~0 main_~u~0) (+ (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0) 3)) (= (+ main_~r~0 main_~A~0 1) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= 0 (mod (+ main_~u~0 1) (- 2))))} assume !!(0 != ~r~0); {3037#(and (= (* main_~u~0 main_~u~0) (+ (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0) 3)) (= (+ main_~r~0 main_~A~0 1) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= 0 (mod (+ main_~u~0 1) (- 2))))} is VALID [2020-07-17 23:04:55,033 INFO L280 TraceCheckUtils]: 31: Hoare triple {3037#(and (= (* main_~u~0 main_~u~0) (+ (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0) 3)) (= (+ main_~r~0 main_~A~0 1) (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2)))) (= 0 (mod (+ main_~u~0 1) (- 2))))} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {3062#(and (= (+ (* 2 main_~u~0) (* 4 (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2))))) (+ (* main_~u~0 main_~u~0) 1)) (= 0 (mod (+ main_~u~0 1) (- 2))))} is VALID [2020-07-17 23:04:55,035 INFO L280 TraceCheckUtils]: 32: Hoare triple {3062#(and (= (+ (* 2 main_~u~0) (* 4 (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2))))) (+ (* main_~u~0 main_~u~0) 1)) (= 0 (mod (+ main_~u~0 1) (- 2))))} assume !false; {3062#(and (= (+ (* 2 main_~u~0) (* 4 (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2))))) (+ (* main_~u~0 main_~u~0) 1)) (= 0 (mod (+ main_~u~0 1) (- 2))))} is VALID [2020-07-17 23:04:55,036 INFO L263 TraceCheckUtils]: 33: Hoare triple {3062#(and (= (+ (* 2 main_~u~0) (* 4 (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2))))) (+ (* main_~u~0 main_~u~0) 1)) (= 0 (mod (+ main_~u~0 1) (- 2))))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2959#true} is VALID [2020-07-17 23:04:55,038 INFO L280 TraceCheckUtils]: 34: Hoare triple {2959#true} ~cond := #in~cond; {3019#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2020-07-17 23:04:55,040 INFO L280 TraceCheckUtils]: 35: Hoare triple {3019#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3023#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 23:04:55,042 INFO L280 TraceCheckUtils]: 36: Hoare triple {3023#(not (= 0 |__VERIFIER_assert_#in~cond|))} assume true; {3023#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 23:04:55,045 INFO L275 TraceCheckUtils]: 37: Hoare quadruple {3023#(not (= 0 |__VERIFIER_assert_#in~cond|))} {3062#(and (= (+ (* 2 main_~u~0) (* 4 (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2))))) (+ (* main_~u~0 main_~u~0) 1)) (= 0 (mod (+ main_~u~0 1) (- 2))))} #63#return; {3081#(and (= (+ (* 2 main_~u~0) (* 4 (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2))))) (+ (* main_~u~0 main_~u~0) 1)) (= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0)) (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0))) (= 0 (mod (+ main_~u~0 1) (- 2))))} is VALID [2020-07-17 23:04:55,047 INFO L280 TraceCheckUtils]: 38: Hoare triple {3081#(and (= (+ (* 2 main_~u~0) (* 4 (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2))))) (+ (* main_~u~0 main_~u~0) 1)) (= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0)) (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0))) (= 0 (mod (+ main_~u~0 1) (- 2))))} assume !!(0 != ~r~0); {3081#(and (= (+ (* 2 main_~u~0) (* 4 (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2))))) (+ (* main_~u~0 main_~u~0) 1)) (= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0)) (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0))) (= 0 (mod (+ main_~u~0 1) (- 2))))} is VALID [2020-07-17 23:04:57,153 INFO L280 TraceCheckUtils]: 39: Hoare triple {3081#(and (= (+ (* 2 main_~u~0) (* 4 (* (div (+ (* main_~u~0 (- 1)) 1) (- 2)) (div (+ (* main_~u~0 (- 1)) 1) (- 2))))) (+ (* main_~u~0 main_~u~0) 1)) (= (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0)) (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0))) (= 0 (mod (+ main_~u~0 1) (- 2))))} assume !(~r~0 > 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {3088#(and (= (+ (* main_~u~0 main_~u~0) 9) (+ (* 6 main_~u~0) (* 4 (* (div (+ (* main_~u~0 (- 1)) 3) (- 2)) (div (+ (* main_~u~0 (- 1)) 3) (- 2)))))) (= (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0)) (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0))) (= 0 (mod (+ main_~u~0 1) (- 2))))} is UNKNOWN [2020-07-17 23:04:57,156 INFO L280 TraceCheckUtils]: 40: Hoare triple {3088#(and (= (+ (* main_~u~0 main_~u~0) 9) (+ (* 6 main_~u~0) (* 4 (* (div (+ (* main_~u~0 (- 1)) 3) (- 2)) (div (+ (* main_~u~0 (- 1)) 3) (- 2)))))) (= (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0)) (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0))) (= 0 (mod (+ main_~u~0 1) (- 2))))} assume !false; {3088#(and (= (+ (* main_~u~0 main_~u~0) 9) (+ (* 6 main_~u~0) (* 4 (* (div (+ (* main_~u~0 (- 1)) 3) (- 2)) (div (+ (* main_~u~0 (- 1)) 3) (- 2)))))) (= (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0)) (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0))) (= 0 (mod (+ main_~u~0 1) (- 2))))} is VALID [2020-07-17 23:04:57,158 INFO L263 TraceCheckUtils]: 41: Hoare triple {3088#(and (= (+ (* main_~u~0 main_~u~0) 9) (+ (* 6 main_~u~0) (* 4 (* (div (+ (* main_~u~0 (- 1)) 3) (- 2)) (div (+ (* main_~u~0 (- 1)) 3) (- 2)))))) (= (+ (* main_~v~0 main_~v~0) (* 2 main_~u~0) (* 4 main_~r~0) (* 4 main_~A~0)) (+ (* main_~u~0 main_~u~0) (* 2 main_~v~0))) (= 0 (mod (+ main_~u~0 1) (- 2))))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {3095#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2020-07-17 23:04:57,160 INFO L280 TraceCheckUtils]: 42: Hoare triple {3095#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3099#(<= 1 __VERIFIER_assert_~cond)} is VALID [2020-07-17 23:04:57,162 INFO L280 TraceCheckUtils]: 43: Hoare triple {3099#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2960#false} is VALID [2020-07-17 23:04:57,163 INFO L280 TraceCheckUtils]: 44: Hoare triple {2960#false} assume !false; {2960#false} is VALID [2020-07-17 23:04:57,169 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 7 proven. 21 refuted. 2 times theorem prover too weak. 10 trivial. 0 not checked. [2020-07-17 23:04:57,169 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [713523226] [2020-07-17 23:04:57,169 WARN L333 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: Unknown [2020-07-17 23:04:57,169 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1013966625] [2020-07-17 23:04:57,169 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-17 23:04:57,169 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12] total 12 [2020-07-17 23:04:57,169 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1218530299] [2020-07-17 23:04:57,170 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 45 [2020-07-17 23:04:57,170 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 23:04:57,170 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2020-07-17 23:05:02,172 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 37 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2020-07-17 23:05:02,172 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2020-07-17 23:05:02,173 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 23:05:02,173 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2020-07-17 23:05:02,173 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=95, Unknown=10, NotChecked=0, Total=132 [2020-07-17 23:05:02,173 INFO L87 Difference]: Start difference. First operand 60 states and 67 transitions. Second operand 12 states. [2020-07-17 23:06:14,505 WARN L193 SmtUtils]: Spent 13.85 s on a formula simplification. DAG size of input: 36 DAG size of output: 32