/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound20.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 16:26:24,594 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 16:26:24,596 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 16:26:24,628 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 16:26:24,628 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 16:26:24,629 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 16:26:24,631 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 16:26:24,633 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 16:26:24,634 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 16:26:24,637 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 16:26:24,637 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 16:26:24,638 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 16:26:24,638 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 16:26:24,640 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 16:26:24,641 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 16:26:24,642 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 16:26:24,643 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 16:26:24,643 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 16:26:24,645 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 16:26:24,648 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 16:26:24,650 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 16:26:24,650 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 16:26:24,651 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 16:26:24,651 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 16:26:24,652 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 16:26:24,657 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 16:26:24,657 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 16:26:24,657 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 16:26:24,658 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 16:26:24,658 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 16:26:24,659 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 16:26:24,659 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 16:26:24,660 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 16:26:24,660 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 16:26:24,661 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 16:26:24,661 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 16:26:24,661 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 16:26:24,662 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 16:26:24,662 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 16:26:24,662 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 16:26:24,662 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 16:26:24,671 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 16:26:24,672 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-15 16:26:24,678 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 16:26:24,679 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 16:26:24,679 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 16:26:24,679 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 16:26:24,680 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 16:26:24,680 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 16:26:24,680 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 16:26:24,680 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 16:26:24,680 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 16:26:24,681 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 16:26:24,681 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 16:26:24,681 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 16:26:24,681 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 16:26:24,681 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 16:26:24,681 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 16:26:24,681 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 16:26:24,681 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 16:26:24,681 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 16:26:24,681 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 16:26:24,681 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 16:26:24,682 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 16:26:24,682 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-15 16:26:24,682 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-15 16:26:24,845 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 16:26:24,863 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 16:26:24,865 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 16:26:24,866 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 16:26:24,866 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 16:26:24,867 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound20.c [2022-04-15 16:26:24,909 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/62366284d/bb017454f5544a9695abe11836c75969/FLAG85b5a241d [2022-04-15 16:26:25,264 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 16:26:25,265 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound20.c [2022-04-15 16:26:25,269 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/62366284d/bb017454f5544a9695abe11836c75969/FLAG85b5a241d [2022-04-15 16:26:25,280 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/62366284d/bb017454f5544a9695abe11836c75969 [2022-04-15 16:26:25,281 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 16:26:25,282 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 16:26:25,284 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 16:26:25,285 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 16:26:25,288 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 16:26:25,288 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 04:26:25" (1/1) ... [2022-04-15 16:26:25,289 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@786e1ed6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:26:25, skipping insertion in model container [2022-04-15 16:26:25,289 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 04:26:25" (1/1) ... [2022-04-15 16:26:25,293 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 16:26:25,303 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 16:26:25,470 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound20.c[537,550] [2022-04-15 16:26:25,499 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 16:26:25,506 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 16:26:25,515 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound20.c[537,550] [2022-04-15 16:26:25,528 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 16:26:25,537 INFO L208 MainTranslator]: Completed translation [2022-04-15 16:26:25,538 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:26:25 WrapperNode [2022-04-15 16:26:25,538 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 16:26:25,538 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 16:26:25,538 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 16:26:25,539 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 16:26:25,546 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:26:25" (1/1) ... [2022-04-15 16:26:25,546 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:26:25" (1/1) ... [2022-04-15 16:26:25,551 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:26:25" (1/1) ... [2022-04-15 16:26:25,552 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:26:25" (1/1) ... [2022-04-15 16:26:25,562 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:26:25" (1/1) ... [2022-04-15 16:26:25,566 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:26:25" (1/1) ... [2022-04-15 16:26:25,568 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:26:25" (1/1) ... [2022-04-15 16:26:25,572 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 16:26:25,572 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 16:26:25,572 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 16:26:25,572 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 16:26:25,573 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:26:25" (1/1) ... [2022-04-15 16:26:25,578 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 16:26:25,584 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:26:25,593 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-15 16:26:25,595 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-15 16:26:25,623 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 16:26:25,623 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 16:26:25,623 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 16:26:25,623 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 16:26:25,623 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 16:26:25,624 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 16:26:25,624 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 16:26:25,624 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 16:26:25,624 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 16:26:25,624 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 16:26:25,624 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-15 16:26:25,624 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 16:26:25,625 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 16:26:25,625 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 16:26:25,625 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 16:26:25,626 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 16:26:25,626 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 16:26:25,626 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 16:26:25,626 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 16:26:25,626 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 16:26:25,669 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 16:26:25,670 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 16:26:25,836 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 16:26:25,840 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 16:26:25,841 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-15 16:26:25,842 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 04:26:25 BoogieIcfgContainer [2022-04-15 16:26:25,842 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 16:26:25,843 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 16:26:25,843 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 16:26:25,861 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 16:26:25,861 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 04:26:25" (1/3) ... [2022-04-15 16:26:25,861 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@38d04eb2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 04:26:25, skipping insertion in model container [2022-04-15 16:26:25,861 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:26:25" (2/3) ... [2022-04-15 16:26:25,862 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@38d04eb2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 04:26:25, skipping insertion in model container [2022-04-15 16:26:25,862 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 04:26:25" (3/3) ... [2022-04-15 16:26:25,863 INFO L111 eAbstractionObserver]: Analyzing ICFG prodbin-ll_valuebound20.c [2022-04-15 16:26:25,866 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 16:26:25,866 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 16:26:25,907 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 16:26:25,913 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-15 16:26:25,913 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 16:26:25,929 INFO L276 IsEmpty]: Start isEmpty. Operand has 32 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 16:26:25,934 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 16:26:25,935 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:26:25,935 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 16:26:25,936 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:26:25,939 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:26:25,939 INFO L85 PathProgramCache]: Analyzing trace with hash -589322634, now seen corresponding path program 1 times [2022-04-15 16:26:25,946 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:26:25,946 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [189092529] [2022-04-15 16:26:25,955 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:26:25,955 INFO L85 PathProgramCache]: Analyzing trace with hash -589322634, now seen corresponding path program 2 times [2022-04-15 16:26:25,957 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:26:25,958 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2083360371] [2022-04-15 16:26:25,958 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:26:25,959 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:26:26,047 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:26:26,107 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 16:26:26,120 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:26:26,134 INFO L290 TraceCheckUtils]: 0: Hoare triple {52#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {35#true} is VALID [2022-04-15 16:26:26,134 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-15 16:26:26,134 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-15 16:26:26,135 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 16:26:26,137 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:26:26,157 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 16:26:26,157 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 16:26:26,158 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 16:26:26,158 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-15 16:26:26,158 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 16:26:26,160 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:26:26,169 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 16:26:26,170 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 16:26:26,170 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 16:26:26,170 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-15 16:26:26,170 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 16:26:26,172 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:26:26,183 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 16:26:26,191 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 16:26:26,192 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 16:26:26,192 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-15 16:26:26,194 INFO L272 TraceCheckUtils]: 0: Hoare triple {35#true} call ULTIMATE.init(); {52#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 16:26:26,194 INFO L290 TraceCheckUtils]: 1: Hoare triple {52#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {35#true} is VALID [2022-04-15 16:26:26,194 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-15 16:26:26,194 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-15 16:26:26,195 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret6 := main(); {35#true} is VALID [2022-04-15 16:26:26,195 INFO L290 TraceCheckUtils]: 5: Hoare triple {35#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {35#true} is VALID [2022-04-15 16:26:26,195 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 20 then 1 else 0)); {35#true} is VALID [2022-04-15 16:26:26,195 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 16:26:26,197 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 16:26:26,197 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 16:26:26,197 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-15 16:26:26,198 INFO L290 TraceCheckUtils]: 11: Hoare triple {36#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {36#false} is VALID [2022-04-15 16:26:26,198 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 20 then 1 else 0)); {35#true} is VALID [2022-04-15 16:26:26,198 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 16:26:26,199 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 16:26:26,199 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 16:26:26,199 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-15 16:26:26,200 INFO L272 TraceCheckUtils]: 17: Hoare triple {36#false} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {35#true} is VALID [2022-04-15 16:26:26,200 INFO L290 TraceCheckUtils]: 18: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 16:26:26,200 INFO L290 TraceCheckUtils]: 19: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 16:26:26,200 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 16:26:26,201 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-15 16:26:26,201 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {36#false} is VALID [2022-04-15 16:26:26,201 INFO L290 TraceCheckUtils]: 23: Hoare triple {36#false} assume false; {36#false} is VALID [2022-04-15 16:26:26,201 INFO L272 TraceCheckUtils]: 24: Hoare triple {36#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {36#false} is VALID [2022-04-15 16:26:26,201 INFO L290 TraceCheckUtils]: 25: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-15 16:26:26,202 INFO L290 TraceCheckUtils]: 26: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-15 16:26:26,202 INFO L290 TraceCheckUtils]: 27: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-15 16:26:26,202 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 16:26:26,203 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 16:26:26,203 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2083360371] [2022-04-15 16:26:26,203 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2083360371] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:26:26,203 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:26:26,204 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 16:26:26,205 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 16:26:26,205 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [189092529] [2022-04-15 16:26:26,205 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [189092529] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:26:26,206 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:26:26,206 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 16:26:26,206 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1765635061] [2022-04-15 16:26:26,206 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 16:26:26,209 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-15 16:26:26,210 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 16:26:26,214 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 16:26:26,246 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:26:26,246 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 16:26:26,246 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 16:26:26,264 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 16:26:26,265 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 16:26:26,266 INFO L87 Difference]: Start difference. First operand has 32 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 16:26:26,394 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:26:26,394 INFO L93 Difference]: Finished difference Result 57 states and 77 transitions. [2022-04-15 16:26:26,394 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 16:26:26,394 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-15 16:26:26,395 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 16:26:26,395 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 16:26:26,403 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-15 16:26:26,403 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 16:26:26,407 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-15 16:26:26,407 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 77 transitions. [2022-04-15 16:26:26,481 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:26:26,492 INFO L225 Difference]: With dead ends: 57 [2022-04-15 16:26:26,492 INFO L226 Difference]: Without dead ends: 27 [2022-04-15 16:26:26,500 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 16:26:26,503 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 19 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 34 SdHoareTripleChecker+Invalid, 13 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 16:26:26,504 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [24 Valid, 34 Invalid, 13 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 16:26:26,514 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-15 16:26:26,535 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-15 16:26:26,535 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 16:26:26,536 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 16:26:26,537 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 16:26:26,537 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 16:26:26,540 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:26:26,540 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-15 16:26:26,540 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-15 16:26:26,540 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:26:26,540 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:26:26,541 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 27 states. [2022-04-15 16:26:26,541 INFO L87 Difference]: Start difference. First operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 27 states. [2022-04-15 16:26:26,543 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:26:26,543 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-15 16:26:26,543 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-15 16:26:26,544 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:26:26,544 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:26:26,544 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 16:26:26,544 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 16:26:26,544 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 16:26:26,546 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 31 transitions. [2022-04-15 16:26:26,547 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 31 transitions. Word has length 28 [2022-04-15 16:26:26,547 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 16:26:26,547 INFO L478 AbstractCegarLoop]: Abstraction has 27 states and 31 transitions. [2022-04-15 16:26:26,547 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 16:26:26,547 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 31 transitions. [2022-04-15 16:26:26,576 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:26:26,576 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-15 16:26:26,577 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 16:26:26,577 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:26:26,577 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 16:26:26,577 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 16:26:26,577 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:26:26,578 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:26:26,578 INFO L85 PathProgramCache]: Analyzing trace with hash -1736242504, now seen corresponding path program 1 times [2022-04-15 16:26:26,578 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:26:26,578 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1200806420] [2022-04-15 16:26:26,579 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:26:26,579 INFO L85 PathProgramCache]: Analyzing trace with hash -1736242504, now seen corresponding path program 2 times [2022-04-15 16:26:26,579 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:26:26,579 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1390070266] [2022-04-15 16:26:26,579 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:26:26,579 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:26:26,596 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 16:26:26,597 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1894556576] [2022-04-15 16:26:26,597 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 16:26:26,597 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:26:26,597 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:26:26,608 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 16:26:26,609 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-15 16:26:26,661 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 16:26:26,662 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 16:26:26,664 INFO L263 TraceCheckSpWp]: Trace formula consists of 68 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 16:26:26,689 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:26:26,692 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 16:26:26,830 INFO L272 TraceCheckUtils]: 0: Hoare triple {277#true} call ULTIMATE.init(); {277#true} is VALID [2022-04-15 16:26:26,830 INFO L290 TraceCheckUtils]: 1: Hoare triple {277#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {277#true} is VALID [2022-04-15 16:26:26,830 INFO L290 TraceCheckUtils]: 2: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-15 16:26:26,831 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {277#true} {277#true} #71#return; {277#true} is VALID [2022-04-15 16:26:26,831 INFO L272 TraceCheckUtils]: 4: Hoare triple {277#true} call #t~ret6 := main(); {277#true} is VALID [2022-04-15 16:26:26,831 INFO L290 TraceCheckUtils]: 5: Hoare triple {277#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {277#true} is VALID [2022-04-15 16:26:26,831 INFO L272 TraceCheckUtils]: 6: Hoare triple {277#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 20 then 1 else 0)); {277#true} is VALID [2022-04-15 16:26:26,831 INFO L290 TraceCheckUtils]: 7: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-15 16:26:26,831 INFO L290 TraceCheckUtils]: 8: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-15 16:26:26,832 INFO L290 TraceCheckUtils]: 9: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-15 16:26:26,832 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {277#true} {277#true} #61#return; {277#true} is VALID [2022-04-15 16:26:26,832 INFO L290 TraceCheckUtils]: 11: Hoare triple {277#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {277#true} is VALID [2022-04-15 16:26:26,832 INFO L272 TraceCheckUtils]: 12: Hoare triple {277#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 20 then 1 else 0)); {277#true} is VALID [2022-04-15 16:26:26,832 INFO L290 TraceCheckUtils]: 13: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-15 16:26:26,832 INFO L290 TraceCheckUtils]: 14: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-15 16:26:26,832 INFO L290 TraceCheckUtils]: 15: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-15 16:26:26,832 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {277#true} {277#true} #63#return; {277#true} is VALID [2022-04-15 16:26:26,833 INFO L272 TraceCheckUtils]: 17: Hoare triple {277#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {277#true} is VALID [2022-04-15 16:26:26,833 INFO L290 TraceCheckUtils]: 18: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-15 16:26:26,833 INFO L290 TraceCheckUtils]: 19: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-15 16:26:26,833 INFO L290 TraceCheckUtils]: 20: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-15 16:26:26,833 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {277#true} {277#true} #65#return; {277#true} is VALID [2022-04-15 16:26:26,834 INFO L290 TraceCheckUtils]: 22: Hoare triple {277#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:26:26,834 INFO L290 TraceCheckUtils]: 23: Hoare triple {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:26:26,835 INFO L272 TraceCheckUtils]: 24: Hoare triple {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {355#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:26:26,835 INFO L290 TraceCheckUtils]: 25: Hoare triple {355#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {359#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:26:26,836 INFO L290 TraceCheckUtils]: 26: Hoare triple {359#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {278#false} is VALID [2022-04-15 16:26:26,836 INFO L290 TraceCheckUtils]: 27: Hoare triple {278#false} assume !false; {278#false} is VALID [2022-04-15 16:26:26,836 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 16:26:26,836 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 16:26:26,836 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 16:26:26,836 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1390070266] [2022-04-15 16:26:26,837 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 16:26:26,837 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1894556576] [2022-04-15 16:26:26,837 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1894556576] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:26:26,837 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:26:26,837 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 16:26:26,838 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 16:26:26,838 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1200806420] [2022-04-15 16:26:26,838 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1200806420] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:26:26,838 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:26:26,838 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 16:26:26,838 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2112689202] [2022-04-15 16:26:26,838 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 16:26:26,839 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-15 16:26:26,839 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 16:26:26,839 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 16:26:26,853 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:26:26,853 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 16:26:26,853 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 16:26:26,853 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 16:26:26,854 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 16:26:26,854 INFO L87 Difference]: Start difference. First operand 27 states and 31 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 16:26:26,976 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:26:26,977 INFO L93 Difference]: Finished difference Result 39 states and 45 transitions. [2022-04-15 16:26:26,977 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 16:26:26,977 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-15 16:26:26,978 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 16:26:26,978 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 16:26:26,988 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-15 16:26:26,988 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 16:26:26,990 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-15 16:26:26,990 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 45 transitions. [2022-04-15 16:26:27,019 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:26:27,023 INFO L225 Difference]: With dead ends: 39 [2022-04-15 16:26:27,024 INFO L226 Difference]: Without dead ends: 37 [2022-04-15 16:26:27,027 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-15 16:26:27,028 INFO L913 BasicCegarLoop]: 25 mSDtfsCounter, 8 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 43 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 87 SdHoareTripleChecker+Invalid, 43 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 43 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 16:26:27,033 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 87 Invalid, 43 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 43 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 16:26:27,035 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-04-15 16:26:27,048 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 33. [2022-04-15 16:26:27,048 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 16:26:27,048 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 16:26:27,049 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 16:26:27,050 INFO L87 Difference]: Start difference. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 16:26:27,053 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:26:27,053 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-15 16:26:27,053 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-15 16:26:27,054 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:26:27,054 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:26:27,056 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 37 states. [2022-04-15 16:26:27,056 INFO L87 Difference]: Start difference. First operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 37 states. [2022-04-15 16:26:27,061 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:26:27,061 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-15 16:26:27,061 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-15 16:26:27,062 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:26:27,062 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:26:27,062 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 16:26:27,062 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 16:26:27,062 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 16:26:27,063 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 37 transitions. [2022-04-15 16:26:27,063 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 37 transitions. Word has length 28 [2022-04-15 16:26:27,064 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 16:26:27,064 INFO L478 AbstractCegarLoop]: Abstraction has 33 states and 37 transitions. [2022-04-15 16:26:27,064 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 16:26:27,064 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 37 transitions. [2022-04-15 16:26:27,100 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:26:27,100 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2022-04-15 16:26:27,103 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-15 16:26:27,103 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:26:27,103 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 16:26:27,121 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-15 16:26:27,318 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:26:27,319 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:26:27,319 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:26:27,319 INFO L85 PathProgramCache]: Analyzing trace with hash 1911690432, now seen corresponding path program 1 times [2022-04-15 16:26:27,319 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:26:27,319 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1419559011] [2022-04-15 16:26:27,320 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:26:27,320 INFO L85 PathProgramCache]: Analyzing trace with hash 1911690432, now seen corresponding path program 2 times [2022-04-15 16:26:27,320 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:26:27,320 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [459386616] [2022-04-15 16:26:27,320 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:26:27,320 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:26:27,333 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 16:26:27,333 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1680321722] [2022-04-15 16:26:27,333 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 16:26:27,334 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:26:27,334 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:26:27,334 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 16:26:27,356 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-15 16:26:27,385 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 16:26:27,385 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 16:26:27,385 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-15 16:26:27,392 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:26:27,393 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 16:26:27,524 INFO L272 TraceCheckUtils]: 0: Hoare triple {585#true} call ULTIMATE.init(); {585#true} is VALID [2022-04-15 16:26:27,524 INFO L290 TraceCheckUtils]: 1: Hoare triple {585#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {585#true} is VALID [2022-04-15 16:26:27,525 INFO L290 TraceCheckUtils]: 2: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-15 16:26:27,525 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {585#true} {585#true} #71#return; {585#true} is VALID [2022-04-15 16:26:27,525 INFO L272 TraceCheckUtils]: 4: Hoare triple {585#true} call #t~ret6 := main(); {585#true} is VALID [2022-04-15 16:26:27,525 INFO L290 TraceCheckUtils]: 5: Hoare triple {585#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {585#true} is VALID [2022-04-15 16:26:27,525 INFO L272 TraceCheckUtils]: 6: Hoare triple {585#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 20 then 1 else 0)); {585#true} is VALID [2022-04-15 16:26:27,525 INFO L290 TraceCheckUtils]: 7: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-15 16:26:27,526 INFO L290 TraceCheckUtils]: 8: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-15 16:26:27,526 INFO L290 TraceCheckUtils]: 9: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-15 16:26:27,526 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {585#true} {585#true} #61#return; {585#true} is VALID [2022-04-15 16:26:27,526 INFO L290 TraceCheckUtils]: 11: Hoare triple {585#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {585#true} is VALID [2022-04-15 16:26:27,526 INFO L272 TraceCheckUtils]: 12: Hoare triple {585#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 20 then 1 else 0)); {585#true} is VALID [2022-04-15 16:26:27,526 INFO L290 TraceCheckUtils]: 13: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-15 16:26:27,526 INFO L290 TraceCheckUtils]: 14: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-15 16:26:27,526 INFO L290 TraceCheckUtils]: 15: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-15 16:26:27,528 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {585#true} {585#true} #63#return; {585#true} is VALID [2022-04-15 16:26:27,528 INFO L272 TraceCheckUtils]: 17: Hoare triple {585#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {585#true} is VALID [2022-04-15 16:26:27,528 INFO L290 TraceCheckUtils]: 18: Hoare triple {585#true} ~cond := #in~cond; {644#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 16:26:27,529 INFO L290 TraceCheckUtils]: 19: Hoare triple {644#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {648#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:26:27,529 INFO L290 TraceCheckUtils]: 20: Hoare triple {648#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {648#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:26:27,530 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {648#(not (= |assume_abort_if_not_#in~cond| 0))} {585#true} #65#return; {655#(<= 1 main_~b~0)} is VALID [2022-04-15 16:26:27,530 INFO L290 TraceCheckUtils]: 22: Hoare triple {655#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {659#(<= 1 main_~y~0)} is VALID [2022-04-15 16:26:27,530 INFO L290 TraceCheckUtils]: 23: Hoare triple {659#(<= 1 main_~y~0)} assume !false; {659#(<= 1 main_~y~0)} is VALID [2022-04-15 16:26:27,531 INFO L272 TraceCheckUtils]: 24: Hoare triple {659#(<= 1 main_~y~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {585#true} is VALID [2022-04-15 16:26:27,531 INFO L290 TraceCheckUtils]: 25: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-15 16:26:27,533 INFO L290 TraceCheckUtils]: 26: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-15 16:26:27,533 INFO L290 TraceCheckUtils]: 27: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-15 16:26:27,534 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {585#true} {659#(<= 1 main_~y~0)} #67#return; {659#(<= 1 main_~y~0)} is VALID [2022-04-15 16:26:27,534 INFO L290 TraceCheckUtils]: 29: Hoare triple {659#(<= 1 main_~y~0)} assume !(0 != ~y~0); {586#false} is VALID [2022-04-15 16:26:27,536 INFO L272 TraceCheckUtils]: 30: Hoare triple {586#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {586#false} is VALID [2022-04-15 16:26:27,536 INFO L290 TraceCheckUtils]: 31: Hoare triple {586#false} ~cond := #in~cond; {586#false} is VALID [2022-04-15 16:26:27,536 INFO L290 TraceCheckUtils]: 32: Hoare triple {586#false} assume 0 == ~cond; {586#false} is VALID [2022-04-15 16:26:27,536 INFO L290 TraceCheckUtils]: 33: Hoare triple {586#false} assume !false; {586#false} is VALID [2022-04-15 16:26:27,537 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-15 16:26:27,537 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 16:26:27,537 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 16:26:27,537 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [459386616] [2022-04-15 16:26:27,537 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 16:26:27,537 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1680321722] [2022-04-15 16:26:27,538 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1680321722] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:26:27,538 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:26:27,538 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 16:26:27,538 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 16:26:27,538 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1419559011] [2022-04-15 16:26:27,538 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1419559011] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:26:27,538 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:26:27,538 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 16:26:27,538 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [70138229] [2022-04-15 16:26:27,539 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 16:26:27,539 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-15 16:26:27,539 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 16:26:27,539 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:26:27,559 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:26:27,559 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 16:26:27,559 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 16:26:27,560 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 16:26:27,560 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-15 16:26:27,560 INFO L87 Difference]: Start difference. First operand 33 states and 37 transitions. Second operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:26:27,711 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:26:27,711 INFO L93 Difference]: Finished difference Result 43 states and 48 transitions. [2022-04-15 16:26:27,711 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 16:26:27,711 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-15 16:26:27,712 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 16:26:27,712 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:26:27,713 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-15 16:26:27,713 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:26:27,714 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-15 16:26:27,714 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 45 transitions. [2022-04-15 16:26:27,752 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:26:27,754 INFO L225 Difference]: With dead ends: 43 [2022-04-15 16:26:27,754 INFO L226 Difference]: Without dead ends: 36 [2022-04-15 16:26:27,754 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-15 16:26:27,755 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 14 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 58 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 89 SdHoareTripleChecker+Invalid, 60 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 58 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 16:26:27,755 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 89 Invalid, 60 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 58 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 16:26:27,755 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-15 16:26:27,770 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 34. [2022-04-15 16:26:27,770 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 16:26:27,770 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 16:26:27,770 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 16:26:27,770 INFO L87 Difference]: Start difference. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 16:26:27,772 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:26:27,772 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-15 16:26:27,772 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-15 16:26:27,774 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:26:27,774 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:26:27,775 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 36 states. [2022-04-15 16:26:27,775 INFO L87 Difference]: Start difference. First operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 36 states. [2022-04-15 16:26:27,776 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:26:27,776 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-15 16:26:27,776 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-15 16:26:27,776 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:26:27,776 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:26:27,777 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 16:26:27,777 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 16:26:27,777 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 16:26:27,778 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 38 transitions. [2022-04-15 16:26:27,778 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 38 transitions. Word has length 34 [2022-04-15 16:26:27,778 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 16:26:27,778 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 38 transitions. [2022-04-15 16:26:27,778 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:26:27,778 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 38 transitions. [2022-04-15 16:26:27,807 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:26:27,807 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2022-04-15 16:26:27,807 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-15 16:26:27,808 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:26:27,808 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 16:26:27,833 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-15 16:26:28,023 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-15 16:26:28,024 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:26:28,024 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:26:28,024 INFO L85 PathProgramCache]: Analyzing trace with hash 2022075506, now seen corresponding path program 1 times [2022-04-15 16:26:28,024 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:26:28,024 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1794096208] [2022-04-15 16:26:28,025 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:26:28,025 INFO L85 PathProgramCache]: Analyzing trace with hash 2022075506, now seen corresponding path program 2 times [2022-04-15 16:26:28,025 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:26:28,025 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1422564209] [2022-04-15 16:26:28,025 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:26:28,025 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:26:28,038 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 16:26:28,038 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1365958467] [2022-04-15 16:26:28,038 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 16:26:28,039 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:26:28,039 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:26:28,039 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 16:26:28,051 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-15 16:26:28,083 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 16:26:28,083 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 16:26:28,084 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-15 16:26:28,093 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:26:28,094 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 16:26:31,773 INFO L272 TraceCheckUtils]: 0: Hoare triple {922#true} call ULTIMATE.init(); {922#true} is VALID [2022-04-15 16:26:31,773 INFO L290 TraceCheckUtils]: 1: Hoare triple {922#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {922#true} is VALID [2022-04-15 16:26:31,774 INFO L290 TraceCheckUtils]: 2: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 16:26:31,774 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {922#true} {922#true} #71#return; {922#true} is VALID [2022-04-15 16:26:31,774 INFO L272 TraceCheckUtils]: 4: Hoare triple {922#true} call #t~ret6 := main(); {922#true} is VALID [2022-04-15 16:26:31,774 INFO L290 TraceCheckUtils]: 5: Hoare triple {922#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {922#true} is VALID [2022-04-15 16:26:31,774 INFO L272 TraceCheckUtils]: 6: Hoare triple {922#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 20 then 1 else 0)); {922#true} is VALID [2022-04-15 16:26:31,774 INFO L290 TraceCheckUtils]: 7: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 16:26:31,774 INFO L290 TraceCheckUtils]: 8: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 16:26:31,774 INFO L290 TraceCheckUtils]: 9: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 16:26:31,774 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {922#true} {922#true} #61#return; {922#true} is VALID [2022-04-15 16:26:31,775 INFO L290 TraceCheckUtils]: 11: Hoare triple {922#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {922#true} is VALID [2022-04-15 16:26:31,775 INFO L272 TraceCheckUtils]: 12: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 20 then 1 else 0)); {922#true} is VALID [2022-04-15 16:26:31,775 INFO L290 TraceCheckUtils]: 13: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 16:26:31,775 INFO L290 TraceCheckUtils]: 14: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 16:26:31,775 INFO L290 TraceCheckUtils]: 15: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 16:26:31,775 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {922#true} {922#true} #63#return; {922#true} is VALID [2022-04-15 16:26:31,775 INFO L272 TraceCheckUtils]: 17: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {922#true} is VALID [2022-04-15 16:26:31,775 INFO L290 TraceCheckUtils]: 18: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 16:26:31,775 INFO L290 TraceCheckUtils]: 19: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 16:26:31,776 INFO L290 TraceCheckUtils]: 20: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 16:26:31,776 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {922#true} {922#true} #65#return; {922#true} is VALID [2022-04-15 16:26:31,776 INFO L290 TraceCheckUtils]: 22: Hoare triple {922#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {993#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:26:31,777 INFO L290 TraceCheckUtils]: 23: Hoare triple {993#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {993#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:26:31,777 INFO L272 TraceCheckUtils]: 24: Hoare triple {993#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {922#true} is VALID [2022-04-15 16:26:31,777 INFO L290 TraceCheckUtils]: 25: Hoare triple {922#true} ~cond := #in~cond; {1003#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:26:31,778 INFO L290 TraceCheckUtils]: 26: Hoare triple {1003#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:26:31,778 INFO L290 TraceCheckUtils]: 27: Hoare triple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:26:31,779 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} {993#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #67#return; {1014#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:26:31,779 INFO L290 TraceCheckUtils]: 29: Hoare triple {1014#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {1018#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:26:31,781 INFO L290 TraceCheckUtils]: 30: Hoare triple {1018#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {1022#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-15 16:26:31,783 INFO L290 TraceCheckUtils]: 31: Hoare triple {1022#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1026#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* main_~a~0 (+ (- 1) main_~b~0)))) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 16:26:31,783 INFO L290 TraceCheckUtils]: 32: Hoare triple {1026#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* main_~a~0 (+ (- 1) main_~b~0)))) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {1026#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* main_~a~0 (+ (- 1) main_~b~0)))) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 16:26:33,786 WARN L272 TraceCheckUtils]: 33: Hoare triple {1026#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* main_~a~0 (+ (- 1) main_~b~0)))) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1033#(<= 1 |__VERIFIER_assert_#in~cond|)} is UNKNOWN [2022-04-15 16:26:33,787 INFO L290 TraceCheckUtils]: 34: Hoare triple {1033#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1037#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:26:33,787 INFO L290 TraceCheckUtils]: 35: Hoare triple {1037#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {923#false} is VALID [2022-04-15 16:26:33,787 INFO L290 TraceCheckUtils]: 36: Hoare triple {923#false} assume !false; {923#false} is VALID [2022-04-15 16:26:33,788 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 1 proven. 3 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 16:26:33,788 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 16:27:39,014 INFO L290 TraceCheckUtils]: 36: Hoare triple {923#false} assume !false; {923#false} is VALID [2022-04-15 16:27:39,015 INFO L290 TraceCheckUtils]: 35: Hoare triple {1037#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {923#false} is VALID [2022-04-15 16:27:39,023 INFO L290 TraceCheckUtils]: 34: Hoare triple {1033#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1037#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:27:39,024 INFO L272 TraceCheckUtils]: 33: Hoare triple {1053#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1033#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:27:39,024 INFO L290 TraceCheckUtils]: 32: Hoare triple {1053#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {1053#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:27:39,028 INFO L290 TraceCheckUtils]: 31: Hoare triple {1060#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1053#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:27:39,030 INFO L290 TraceCheckUtils]: 30: Hoare triple {1064#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {1060#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-15 16:27:39,032 INFO L290 TraceCheckUtils]: 29: Hoare triple {1064#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {1064#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-15 16:27:39,316 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} {922#true} #67#return; {1064#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-15 16:27:39,317 INFO L290 TraceCheckUtils]: 27: Hoare triple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:27:39,317 INFO L290 TraceCheckUtils]: 26: Hoare triple {1080#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:27:39,317 INFO L290 TraceCheckUtils]: 25: Hoare triple {922#true} ~cond := #in~cond; {1080#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 16:27:39,318 INFO L272 TraceCheckUtils]: 24: Hoare triple {922#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {922#true} is VALID [2022-04-15 16:27:39,318 INFO L290 TraceCheckUtils]: 23: Hoare triple {922#true} assume !false; {922#true} is VALID [2022-04-15 16:27:39,318 INFO L290 TraceCheckUtils]: 22: Hoare triple {922#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {922#true} is VALID [2022-04-15 16:27:39,318 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {922#true} {922#true} #65#return; {922#true} is VALID [2022-04-15 16:27:39,318 INFO L290 TraceCheckUtils]: 20: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 16:27:39,318 INFO L290 TraceCheckUtils]: 19: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 16:27:39,318 INFO L290 TraceCheckUtils]: 18: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 16:27:39,318 INFO L272 TraceCheckUtils]: 17: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {922#true} is VALID [2022-04-15 16:27:39,318 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {922#true} {922#true} #63#return; {922#true} is VALID [2022-04-15 16:27:39,319 INFO L290 TraceCheckUtils]: 15: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 16:27:39,319 INFO L290 TraceCheckUtils]: 14: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 16:27:39,319 INFO L290 TraceCheckUtils]: 13: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 16:27:39,319 INFO L272 TraceCheckUtils]: 12: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 20 then 1 else 0)); {922#true} is VALID [2022-04-15 16:27:39,319 INFO L290 TraceCheckUtils]: 11: Hoare triple {922#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {922#true} is VALID [2022-04-15 16:27:39,319 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {922#true} {922#true} #61#return; {922#true} is VALID [2022-04-15 16:27:39,319 INFO L290 TraceCheckUtils]: 9: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 16:27:39,319 INFO L290 TraceCheckUtils]: 8: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 16:27:39,319 INFO L290 TraceCheckUtils]: 7: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 16:27:39,320 INFO L272 TraceCheckUtils]: 6: Hoare triple {922#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 20 then 1 else 0)); {922#true} is VALID [2022-04-15 16:27:39,320 INFO L290 TraceCheckUtils]: 5: Hoare triple {922#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {922#true} is VALID [2022-04-15 16:27:39,320 INFO L272 TraceCheckUtils]: 4: Hoare triple {922#true} call #t~ret6 := main(); {922#true} is VALID [2022-04-15 16:27:39,320 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {922#true} {922#true} #71#return; {922#true} is VALID [2022-04-15 16:27:39,320 INFO L290 TraceCheckUtils]: 2: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 16:27:39,320 INFO L290 TraceCheckUtils]: 1: Hoare triple {922#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {922#true} is VALID [2022-04-15 16:27:39,320 INFO L272 TraceCheckUtils]: 0: Hoare triple {922#true} call ULTIMATE.init(); {922#true} is VALID [2022-04-15 16:27:39,320 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 16:27:39,321 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 16:27:39,321 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1422564209] [2022-04-15 16:27:39,321 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 16:27:39,321 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1365958467] [2022-04-15 16:27:39,321 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1365958467] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 16:27:39,321 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 16:27:39,321 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 15 [2022-04-15 16:27:39,321 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 16:27:39,321 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1794096208] [2022-04-15 16:27:39,322 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1794096208] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:27:39,322 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:27:39,322 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 16:27:39,322 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2070691056] [2022-04-15 16:27:39,322 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 16:27:39,322 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-15 16:27:39,322 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 16:27:39,323 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:27:41,355 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 30 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 16:27:41,356 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 16:27:41,356 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 16:27:41,356 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 16:27:41,356 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=166, Unknown=1, NotChecked=0, Total=210 [2022-04-15 16:27:41,357 INFO L87 Difference]: Start difference. First operand 34 states and 38 transitions. Second operand has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:27:44,375 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.12s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 16:27:47,592 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.01s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 16:27:47,783 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:27:47,783 INFO L93 Difference]: Finished difference Result 49 states and 56 transitions. [2022-04-15 16:27:47,783 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 16:27:47,783 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-15 16:27:47,784 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 16:27:47,784 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:27:47,785 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 53 transitions. [2022-04-15 16:27:47,785 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:27:47,786 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 53 transitions. [2022-04-15 16:27:47,786 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 53 transitions. [2022-04-15 16:27:49,767 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:27:49,768 INFO L225 Difference]: With dead ends: 49 [2022-04-15 16:27:49,768 INFO L226 Difference]: Without dead ends: 47 [2022-04-15 16:27:49,768 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 58 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 40 ImplicationChecksByTransitivity, 7.8s TimeCoverageRelationStatistics Valid=56, Invalid=215, Unknown=1, NotChecked=0, Total=272 [2022-04-15 16:27:49,769 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 19 mSDsluCounter, 125 mSDsCounter, 0 mSdLazyCounter, 154 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 149 SdHoareTripleChecker+Invalid, 158 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 154 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.4s IncrementalHoareTripleChecker+Time [2022-04-15 16:27:49,769 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 149 Invalid, 158 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 154 Invalid, 0 Unknown, 0 Unchecked, 4.4s Time] [2022-04-15 16:27:49,769 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-15 16:27:49,793 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 42. [2022-04-15 16:27:49,793 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 16:27:49,793 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 16:27:49,793 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 16:27:49,794 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 16:27:49,795 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:27:49,795 INFO L93 Difference]: Finished difference Result 47 states and 54 transitions. [2022-04-15 16:27:49,795 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 54 transitions. [2022-04-15 16:27:49,796 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:27:49,796 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:27:49,796 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 47 states. [2022-04-15 16:27:49,796 INFO L87 Difference]: Start difference. First operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 47 states. [2022-04-15 16:27:49,797 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:27:49,798 INFO L93 Difference]: Finished difference Result 47 states and 54 transitions. [2022-04-15 16:27:49,798 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 54 transitions. [2022-04-15 16:27:49,798 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:27:49,798 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:27:49,798 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 16:27:49,798 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 16:27:49,798 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 16:27:49,799 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 47 transitions. [2022-04-15 16:27:49,799 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 47 transitions. Word has length 37 [2022-04-15 16:27:49,800 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 16:27:49,800 INFO L478 AbstractCegarLoop]: Abstraction has 42 states and 47 transitions. [2022-04-15 16:27:49,800 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:27:49,800 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 47 transitions. [2022-04-15 16:27:51,845 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 46 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 16:27:51,845 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 47 transitions. [2022-04-15 16:27:51,846 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-15 16:27:51,846 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:27:51,846 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 16:27:51,862 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-15 16:27:52,048 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:27:52,049 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:27:52,049 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:27:52,049 INFO L85 PathProgramCache]: Analyzing trace with hash -497884428, now seen corresponding path program 1 times [2022-04-15 16:27:52,049 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:27:52,049 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1274987811] [2022-04-15 16:27:52,049 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:27:52,050 INFO L85 PathProgramCache]: Analyzing trace with hash -497884428, now seen corresponding path program 2 times [2022-04-15 16:27:52,050 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:27:52,050 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2010775973] [2022-04-15 16:27:52,050 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:27:52,050 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:27:52,061 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 16:27:52,061 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1053883665] [2022-04-15 16:27:52,061 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 16:27:52,061 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:27:52,062 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:27:52,062 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 16:27:52,111 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-15 16:27:52,122 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 16:27:52,122 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 16:27:52,123 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-15 16:27:52,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:27:52,140 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 16:27:53,297 INFO L272 TraceCheckUtils]: 0: Hoare triple {1438#true} call ULTIMATE.init(); {1438#true} is VALID [2022-04-15 16:27:53,297 INFO L290 TraceCheckUtils]: 1: Hoare triple {1438#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {1438#true} is VALID [2022-04-15 16:27:53,298 INFO L290 TraceCheckUtils]: 2: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-15 16:27:53,298 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1438#true} {1438#true} #71#return; {1438#true} is VALID [2022-04-15 16:27:53,298 INFO L272 TraceCheckUtils]: 4: Hoare triple {1438#true} call #t~ret6 := main(); {1438#true} is VALID [2022-04-15 16:27:53,298 INFO L290 TraceCheckUtils]: 5: Hoare triple {1438#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {1438#true} is VALID [2022-04-15 16:27:53,298 INFO L272 TraceCheckUtils]: 6: Hoare triple {1438#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 20 then 1 else 0)); {1438#true} is VALID [2022-04-15 16:27:53,298 INFO L290 TraceCheckUtils]: 7: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-15 16:27:53,298 INFO L290 TraceCheckUtils]: 8: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-15 16:27:53,298 INFO L290 TraceCheckUtils]: 9: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-15 16:27:53,298 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1438#true} {1438#true} #61#return; {1438#true} is VALID [2022-04-15 16:27:53,299 INFO L290 TraceCheckUtils]: 11: Hoare triple {1438#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1438#true} is VALID [2022-04-15 16:27:53,299 INFO L272 TraceCheckUtils]: 12: Hoare triple {1438#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 20 then 1 else 0)); {1438#true} is VALID [2022-04-15 16:27:53,299 INFO L290 TraceCheckUtils]: 13: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-15 16:27:53,299 INFO L290 TraceCheckUtils]: 14: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-15 16:27:53,299 INFO L290 TraceCheckUtils]: 15: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-15 16:27:53,299 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1438#true} {1438#true} #63#return; {1438#true} is VALID [2022-04-15 16:27:53,299 INFO L272 TraceCheckUtils]: 17: Hoare triple {1438#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1438#true} is VALID [2022-04-15 16:27:53,301 INFO L290 TraceCheckUtils]: 18: Hoare triple {1438#true} ~cond := #in~cond; {1497#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 16:27:53,302 INFO L290 TraceCheckUtils]: 19: Hoare triple {1497#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1501#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:27:53,302 INFO L290 TraceCheckUtils]: 20: Hoare triple {1501#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1501#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:27:53,303 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1501#(not (= |assume_abort_if_not_#in~cond| 0))} {1438#true} #65#return; {1508#(<= 1 main_~b~0)} is VALID [2022-04-15 16:27:53,303 INFO L290 TraceCheckUtils]: 22: Hoare triple {1508#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:27:53,303 INFO L290 TraceCheckUtils]: 23: Hoare triple {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:27:53,303 INFO L272 TraceCheckUtils]: 24: Hoare triple {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1438#true} is VALID [2022-04-15 16:27:53,304 INFO L290 TraceCheckUtils]: 25: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-15 16:27:53,304 INFO L290 TraceCheckUtils]: 26: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-15 16:27:53,304 INFO L290 TraceCheckUtils]: 27: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-15 16:27:53,305 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1438#true} {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:27:53,305 INFO L290 TraceCheckUtils]: 29: Hoare triple {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:27:53,306 INFO L290 TraceCheckUtils]: 30: Hoare triple {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {1537#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:27:53,306 INFO L290 TraceCheckUtils]: 31: Hoare triple {1537#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1541#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-15 16:27:53,307 INFO L290 TraceCheckUtils]: 32: Hoare triple {1541#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !false; {1541#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-15 16:27:53,308 INFO L272 TraceCheckUtils]: 33: Hoare triple {1541#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1548#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:27:53,309 INFO L290 TraceCheckUtils]: 34: Hoare triple {1548#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1552#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:27:53,309 INFO L290 TraceCheckUtils]: 35: Hoare triple {1552#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1439#false} is VALID [2022-04-15 16:27:53,309 INFO L290 TraceCheckUtils]: 36: Hoare triple {1439#false} assume !false; {1439#false} is VALID [2022-04-15 16:27:53,309 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-15 16:27:53,310 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 16:28:30,236 INFO L290 TraceCheckUtils]: 36: Hoare triple {1439#false} assume !false; {1439#false} is VALID [2022-04-15 16:28:30,236 INFO L290 TraceCheckUtils]: 35: Hoare triple {1552#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1439#false} is VALID [2022-04-15 16:28:30,237 INFO L290 TraceCheckUtils]: 34: Hoare triple {1548#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1552#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:28:30,237 INFO L272 TraceCheckUtils]: 33: Hoare triple {1568#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1548#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:28:30,238 INFO L290 TraceCheckUtils]: 32: Hoare triple {1568#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {1568#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:28:30,242 INFO L290 TraceCheckUtils]: 31: Hoare triple {1575#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1568#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:28:30,243 INFO L290 TraceCheckUtils]: 30: Hoare triple {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {1575#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-15 16:28:30,243 INFO L290 TraceCheckUtils]: 29: Hoare triple {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-15 16:28:30,244 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1438#true} {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} #67#return; {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-15 16:28:30,244 INFO L290 TraceCheckUtils]: 27: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-15 16:28:30,244 INFO L290 TraceCheckUtils]: 26: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-15 16:28:30,244 INFO L290 TraceCheckUtils]: 25: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-15 16:28:30,244 INFO L272 TraceCheckUtils]: 24: Hoare triple {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1438#true} is VALID [2022-04-15 16:28:30,245 INFO L290 TraceCheckUtils]: 23: Hoare triple {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !false; {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-15 16:28:30,248 INFO L290 TraceCheckUtils]: 22: Hoare triple {1604#(or (= (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-15 16:28:30,249 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1501#(not (= |assume_abort_if_not_#in~cond| 0))} {1438#true} #65#return; {1604#(or (= (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} is VALID [2022-04-15 16:28:30,249 INFO L290 TraceCheckUtils]: 20: Hoare triple {1501#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1501#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:28:30,249 INFO L290 TraceCheckUtils]: 19: Hoare triple {1617#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1501#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:28:30,250 INFO L290 TraceCheckUtils]: 18: Hoare triple {1438#true} ~cond := #in~cond; {1617#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 16:28:30,250 INFO L272 TraceCheckUtils]: 17: Hoare triple {1438#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1438#true} is VALID [2022-04-15 16:28:30,250 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1438#true} {1438#true} #63#return; {1438#true} is VALID [2022-04-15 16:28:30,250 INFO L290 TraceCheckUtils]: 15: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-15 16:28:30,250 INFO L290 TraceCheckUtils]: 14: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-15 16:28:30,250 INFO L290 TraceCheckUtils]: 13: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-15 16:28:30,250 INFO L272 TraceCheckUtils]: 12: Hoare triple {1438#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 20 then 1 else 0)); {1438#true} is VALID [2022-04-15 16:28:30,250 INFO L290 TraceCheckUtils]: 11: Hoare triple {1438#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1438#true} is VALID [2022-04-15 16:28:30,250 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1438#true} {1438#true} #61#return; {1438#true} is VALID [2022-04-15 16:28:30,251 INFO L290 TraceCheckUtils]: 9: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-15 16:28:30,251 INFO L290 TraceCheckUtils]: 8: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-15 16:28:30,251 INFO L290 TraceCheckUtils]: 7: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-15 16:28:30,251 INFO L272 TraceCheckUtils]: 6: Hoare triple {1438#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 20 then 1 else 0)); {1438#true} is VALID [2022-04-15 16:28:30,251 INFO L290 TraceCheckUtils]: 5: Hoare triple {1438#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {1438#true} is VALID [2022-04-15 16:28:30,251 INFO L272 TraceCheckUtils]: 4: Hoare triple {1438#true} call #t~ret6 := main(); {1438#true} is VALID [2022-04-15 16:28:30,251 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1438#true} {1438#true} #71#return; {1438#true} is VALID [2022-04-15 16:28:30,251 INFO L290 TraceCheckUtils]: 2: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-15 16:28:30,251 INFO L290 TraceCheckUtils]: 1: Hoare triple {1438#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {1438#true} is VALID [2022-04-15 16:28:30,251 INFO L272 TraceCheckUtils]: 0: Hoare triple {1438#true} call ULTIMATE.init(); {1438#true} is VALID [2022-04-15 16:28:30,252 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-15 16:28:30,252 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 16:28:30,252 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2010775973] [2022-04-15 16:28:30,252 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 16:28:30,252 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1053883665] [2022-04-15 16:28:30,252 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1053883665] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 16:28:30,252 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 16:28:30,252 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 15 [2022-04-15 16:28:30,252 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 16:28:30,252 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1274987811] [2022-04-15 16:28:30,253 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1274987811] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:28:30,253 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:28:30,253 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 16:28:30,253 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1235476717] [2022-04-15 16:28:30,253 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 16:28:30,253 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-15 16:28:30,253 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 16:28:30,253 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:28:30,276 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:28:30,276 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 16:28:30,277 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 16:28:30,277 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 16:28:30,277 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=165, Unknown=0, NotChecked=0, Total=210 [2022-04-15 16:28:30,277 INFO L87 Difference]: Start difference. First operand 42 states and 47 transitions. Second operand has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:28:30,830 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:28:30,830 INFO L93 Difference]: Finished difference Result 59 states and 66 transitions. [2022-04-15 16:28:30,830 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 16:28:30,831 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-15 16:28:30,831 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 16:28:30,831 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:28:30,832 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 56 transitions. [2022-04-15 16:28:30,832 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:28:30,833 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 56 transitions. [2022-04-15 16:28:30,834 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 56 transitions. [2022-04-15 16:28:30,870 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:28:30,871 INFO L225 Difference]: With dead ends: 59 [2022-04-15 16:28:30,871 INFO L226 Difference]: Without dead ends: 52 [2022-04-15 16:28:30,871 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 59 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 43 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=54, Invalid=218, Unknown=0, NotChecked=0, Total=272 [2022-04-15 16:28:30,872 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 19 mSDsluCounter, 106 mSDsCounter, 0 mSdLazyCounter, 178 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 183 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 178 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-15 16:28:30,872 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 129 Invalid, 183 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 178 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-15 16:28:30,873 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-15 16:28:30,904 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 50. [2022-04-15 16:28:30,904 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 16:28:30,904 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:28:30,904 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:28:30,905 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:28:30,906 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:28:30,906 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2022-04-15 16:28:30,906 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2022-04-15 16:28:30,906 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:28:30,907 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:28:30,907 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 52 states. [2022-04-15 16:28:30,907 INFO L87 Difference]: Start difference. First operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 52 states. [2022-04-15 16:28:30,908 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:28:30,908 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2022-04-15 16:28:30,908 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2022-04-15 16:28:30,909 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:28:30,909 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:28:30,909 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 16:28:30,909 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 16:28:30,909 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:28:30,910 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-15 16:28:30,910 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 37 [2022-04-15 16:28:30,910 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 16:28:30,910 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-15 16:28:30,911 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:28:30,911 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-15 16:28:31,429 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:28:31,430 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-15 16:28:31,430 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-15 16:28:31,430 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:28:31,430 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 16:28:31,448 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-15 16:28:31,630 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:28:31,631 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:28:31,631 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:28:31,631 INFO L85 PathProgramCache]: Analyzing trace with hash -1351630086, now seen corresponding path program 1 times [2022-04-15 16:28:31,631 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:28:31,631 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [499983162] [2022-04-15 16:28:31,632 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:28:31,632 INFO L85 PathProgramCache]: Analyzing trace with hash -1351630086, now seen corresponding path program 2 times [2022-04-15 16:28:31,632 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:28:31,632 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [656799511] [2022-04-15 16:28:31,632 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:28:31,632 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:28:31,642 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 16:28:31,643 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1727413549] [2022-04-15 16:28:31,643 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 16:28:31,643 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:28:31,643 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:28:31,644 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 16:28:31,644 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-15 16:28:31,680 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 16:28:31,680 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 16:28:31,681 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-15 16:28:31,688 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:28:31,689 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 16:28:41,860 INFO L272 TraceCheckUtils]: 0: Hoare triple {2000#true} call ULTIMATE.init(); {2000#true} is VALID [2022-04-15 16:28:41,861 INFO L290 TraceCheckUtils]: 1: Hoare triple {2000#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {2000#true} is VALID [2022-04-15 16:28:41,861 INFO L290 TraceCheckUtils]: 2: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-15 16:28:41,861 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2000#true} {2000#true} #71#return; {2000#true} is VALID [2022-04-15 16:28:41,861 INFO L272 TraceCheckUtils]: 4: Hoare triple {2000#true} call #t~ret6 := main(); {2000#true} is VALID [2022-04-15 16:28:41,861 INFO L290 TraceCheckUtils]: 5: Hoare triple {2000#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {2000#true} is VALID [2022-04-15 16:28:41,861 INFO L272 TraceCheckUtils]: 6: Hoare triple {2000#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 20 then 1 else 0)); {2000#true} is VALID [2022-04-15 16:28:41,861 INFO L290 TraceCheckUtils]: 7: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-15 16:28:41,861 INFO L290 TraceCheckUtils]: 8: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-15 16:28:41,861 INFO L290 TraceCheckUtils]: 9: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-15 16:28:41,861 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2000#true} {2000#true} #61#return; {2000#true} is VALID [2022-04-15 16:28:41,862 INFO L290 TraceCheckUtils]: 11: Hoare triple {2000#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2000#true} is VALID [2022-04-15 16:28:41,862 INFO L272 TraceCheckUtils]: 12: Hoare triple {2000#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 20 then 1 else 0)); {2000#true} is VALID [2022-04-15 16:28:41,862 INFO L290 TraceCheckUtils]: 13: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-15 16:28:41,862 INFO L290 TraceCheckUtils]: 14: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-15 16:28:41,862 INFO L290 TraceCheckUtils]: 15: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-15 16:28:41,862 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2000#true} {2000#true} #63#return; {2000#true} is VALID [2022-04-15 16:28:41,862 INFO L272 TraceCheckUtils]: 17: Hoare triple {2000#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2000#true} is VALID [2022-04-15 16:28:41,862 INFO L290 TraceCheckUtils]: 18: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-15 16:28:41,862 INFO L290 TraceCheckUtils]: 19: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-15 16:28:41,862 INFO L290 TraceCheckUtils]: 20: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-15 16:28:41,862 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2000#true} {2000#true} #65#return; {2000#true} is VALID [2022-04-15 16:28:41,862 INFO L290 TraceCheckUtils]: 22: Hoare triple {2000#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2000#true} is VALID [2022-04-15 16:28:41,863 INFO L290 TraceCheckUtils]: 23: Hoare triple {2000#true} assume !false; {2000#true} is VALID [2022-04-15 16:28:41,863 INFO L272 TraceCheckUtils]: 24: Hoare triple {2000#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2000#true} is VALID [2022-04-15 16:28:41,863 INFO L290 TraceCheckUtils]: 25: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-15 16:28:41,863 INFO L290 TraceCheckUtils]: 26: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-15 16:28:41,863 INFO L290 TraceCheckUtils]: 27: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-15 16:28:41,863 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2000#true} {2000#true} #67#return; {2000#true} is VALID [2022-04-15 16:28:41,863 INFO L290 TraceCheckUtils]: 29: Hoare triple {2000#true} assume !!(0 != ~y~0); {2000#true} is VALID [2022-04-15 16:28:41,863 INFO L290 TraceCheckUtils]: 30: Hoare triple {2000#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2000#true} is VALID [2022-04-15 16:28:41,863 INFO L290 TraceCheckUtils]: 31: Hoare triple {2000#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2000#true} is VALID [2022-04-15 16:28:41,863 INFO L290 TraceCheckUtils]: 32: Hoare triple {2000#true} assume !false; {2000#true} is VALID [2022-04-15 16:28:41,864 INFO L272 TraceCheckUtils]: 33: Hoare triple {2000#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2000#true} is VALID [2022-04-15 16:28:41,864 INFO L290 TraceCheckUtils]: 34: Hoare triple {2000#true} ~cond := #in~cond; {2107#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:28:41,864 INFO L290 TraceCheckUtils]: 35: Hoare triple {2107#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:28:41,864 INFO L290 TraceCheckUtils]: 36: Hoare triple {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:28:43,867 WARN L284 TraceCheckUtils]: 37: Hoare quadruple {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} {2000#true} #67#return; {2118#(or (and (not (= main_~y~0 0)) (= (mod (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) main_~y~0) 0)) (= (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 0))} is UNKNOWN [2022-04-15 16:28:43,868 INFO L290 TraceCheckUtils]: 38: Hoare triple {2118#(or (and (not (= main_~y~0 0)) (= (mod (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) main_~y~0) 0)) (= (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 0))} assume !(0 != ~y~0); {2122#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:28:43,869 INFO L272 TraceCheckUtils]: 39: Hoare triple {2122#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2126#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:28:43,869 INFO L290 TraceCheckUtils]: 40: Hoare triple {2126#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2130#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:28:43,869 INFO L290 TraceCheckUtils]: 41: Hoare triple {2130#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2001#false} is VALID [2022-04-15 16:28:43,869 INFO L290 TraceCheckUtils]: 42: Hoare triple {2001#false} assume !false; {2001#false} is VALID [2022-04-15 16:28:43,870 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-15 16:28:43,870 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 16:28:57,343 INFO L290 TraceCheckUtils]: 42: Hoare triple {2001#false} assume !false; {2001#false} is VALID [2022-04-15 16:28:57,343 INFO L290 TraceCheckUtils]: 41: Hoare triple {2130#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2001#false} is VALID [2022-04-15 16:28:57,344 INFO L290 TraceCheckUtils]: 40: Hoare triple {2126#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2130#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:28:57,344 INFO L272 TraceCheckUtils]: 39: Hoare triple {2122#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2126#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:28:57,345 INFO L290 TraceCheckUtils]: 38: Hoare triple {2149#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} assume !(0 != ~y~0); {2122#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:28:57,346 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} {2000#true} #67#return; {2149#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} is VALID [2022-04-15 16:28:57,346 INFO L290 TraceCheckUtils]: 36: Hoare triple {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:28:57,346 INFO L290 TraceCheckUtils]: 35: Hoare triple {2162#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:28:57,347 INFO L290 TraceCheckUtils]: 34: Hoare triple {2000#true} ~cond := #in~cond; {2162#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 16:28:57,347 INFO L272 TraceCheckUtils]: 33: Hoare triple {2000#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2000#true} is VALID [2022-04-15 16:28:57,347 INFO L290 TraceCheckUtils]: 32: Hoare triple {2000#true} assume !false; {2000#true} is VALID [2022-04-15 16:28:57,347 INFO L290 TraceCheckUtils]: 31: Hoare triple {2000#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2000#true} is VALID [2022-04-15 16:28:57,347 INFO L290 TraceCheckUtils]: 30: Hoare triple {2000#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2000#true} is VALID [2022-04-15 16:28:57,347 INFO L290 TraceCheckUtils]: 29: Hoare triple {2000#true} assume !!(0 != ~y~0); {2000#true} is VALID [2022-04-15 16:28:57,347 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2000#true} {2000#true} #67#return; {2000#true} is VALID [2022-04-15 16:28:57,347 INFO L290 TraceCheckUtils]: 27: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-15 16:28:57,347 INFO L290 TraceCheckUtils]: 26: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-15 16:28:57,348 INFO L290 TraceCheckUtils]: 25: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-15 16:28:57,348 INFO L272 TraceCheckUtils]: 24: Hoare triple {2000#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2000#true} is VALID [2022-04-15 16:28:57,348 INFO L290 TraceCheckUtils]: 23: Hoare triple {2000#true} assume !false; {2000#true} is VALID [2022-04-15 16:28:57,348 INFO L290 TraceCheckUtils]: 22: Hoare triple {2000#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2000#true} is VALID [2022-04-15 16:28:57,348 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2000#true} {2000#true} #65#return; {2000#true} is VALID [2022-04-15 16:28:57,348 INFO L290 TraceCheckUtils]: 20: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-15 16:28:57,348 INFO L290 TraceCheckUtils]: 19: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-15 16:28:57,348 INFO L290 TraceCheckUtils]: 18: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-15 16:28:57,348 INFO L272 TraceCheckUtils]: 17: Hoare triple {2000#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2000#true} is VALID [2022-04-15 16:28:57,348 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2000#true} {2000#true} #63#return; {2000#true} is VALID [2022-04-15 16:28:57,348 INFO L290 TraceCheckUtils]: 15: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-15 16:28:57,349 INFO L290 TraceCheckUtils]: 14: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-15 16:28:57,349 INFO L290 TraceCheckUtils]: 13: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-15 16:28:57,349 INFO L272 TraceCheckUtils]: 12: Hoare triple {2000#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 20 then 1 else 0)); {2000#true} is VALID [2022-04-15 16:28:57,349 INFO L290 TraceCheckUtils]: 11: Hoare triple {2000#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2000#true} is VALID [2022-04-15 16:28:57,349 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2000#true} {2000#true} #61#return; {2000#true} is VALID [2022-04-15 16:28:57,349 INFO L290 TraceCheckUtils]: 9: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-15 16:28:57,349 INFO L290 TraceCheckUtils]: 8: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-15 16:28:57,349 INFO L290 TraceCheckUtils]: 7: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-15 16:28:57,349 INFO L272 TraceCheckUtils]: 6: Hoare triple {2000#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 20 then 1 else 0)); {2000#true} is VALID [2022-04-15 16:28:57,350 INFO L290 TraceCheckUtils]: 5: Hoare triple {2000#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {2000#true} is VALID [2022-04-15 16:28:57,350 INFO L272 TraceCheckUtils]: 4: Hoare triple {2000#true} call #t~ret6 := main(); {2000#true} is VALID [2022-04-15 16:28:57,350 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2000#true} {2000#true} #71#return; {2000#true} is VALID [2022-04-15 16:28:57,350 INFO L290 TraceCheckUtils]: 2: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-15 16:28:57,350 INFO L290 TraceCheckUtils]: 1: Hoare triple {2000#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {2000#true} is VALID [2022-04-15 16:28:57,350 INFO L272 TraceCheckUtils]: 0: Hoare triple {2000#true} call ULTIMATE.init(); {2000#true} is VALID [2022-04-15 16:28:57,350 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-15 16:28:57,350 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 16:28:57,350 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [656799511] [2022-04-15 16:28:57,350 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 16:28:57,350 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1727413549] [2022-04-15 16:28:57,351 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1727413549] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 16:28:57,351 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 16:28:57,351 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-15 16:28:57,351 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 16:28:57,351 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [499983162] [2022-04-15 16:28:57,351 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [499983162] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:28:57,351 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:28:57,351 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 16:28:57,351 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1886978629] [2022-04-15 16:28:57,351 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 16:28:57,352 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 43 [2022-04-15 16:28:57,352 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 16:28:57,352 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 16:28:59,374 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 34 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 16:28:59,374 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 16:28:59,374 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 16:28:59,375 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 16:28:59,375 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-15 16:28:59,375 INFO L87 Difference]: Start difference. First operand 50 states and 55 transitions. Second operand has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 16:29:01,421 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 16:29:01,760 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:29:01,760 INFO L93 Difference]: Finished difference Result 57 states and 61 transitions. [2022-04-15 16:29:01,760 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 16:29:01,761 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 43 [2022-04-15 16:29:01,761 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 16:29:01,761 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 16:29:01,762 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 37 transitions. [2022-04-15 16:29:01,762 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 16:29:01,762 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 37 transitions. [2022-04-15 16:29:01,762 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 37 transitions. [2022-04-15 16:29:03,787 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 36 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 16:29:03,789 INFO L225 Difference]: With dead ends: 57 [2022-04-15 16:29:03,789 INFO L226 Difference]: Without dead ends: 50 [2022-04-15 16:29:03,789 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 76 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=95, Unknown=0, NotChecked=0, Total=132 [2022-04-15 16:29:03,790 INFO L913 BasicCegarLoop]: 25 mSDtfsCounter, 12 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 64 mSolverCounterSat, 1 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 66 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 64 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.1s IncrementalHoareTripleChecker+Time [2022-04-15 16:29:03,791 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 123 Invalid, 66 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 64 Invalid, 1 Unknown, 0 Unchecked, 2.1s Time] [2022-04-15 16:29:03,791 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-15 16:29:03,820 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 41. [2022-04-15 16:29:03,820 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 16:29:03,820 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 16:29:03,821 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 16:29:03,821 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 16:29:03,822 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:29:03,822 INFO L93 Difference]: Finished difference Result 50 states and 54 transitions. [2022-04-15 16:29:03,822 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-15 16:29:03,822 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:29:03,822 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:29:03,823 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 50 states. [2022-04-15 16:29:03,823 INFO L87 Difference]: Start difference. First operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 50 states. [2022-04-15 16:29:03,824 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:29:03,824 INFO L93 Difference]: Finished difference Result 50 states and 54 transitions. [2022-04-15 16:29:03,824 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-15 16:29:03,824 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:29:03,824 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:29:03,824 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 16:29:03,824 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 16:29:03,824 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 16:29:03,825 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 45 transitions. [2022-04-15 16:29:03,825 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 45 transitions. Word has length 43 [2022-04-15 16:29:03,825 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 16:29:03,826 INFO L478 AbstractCegarLoop]: Abstraction has 41 states and 45 transitions. [2022-04-15 16:29:03,826 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 16:29:03,826 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 45 transitions. [2022-04-15 16:29:09,985 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 42 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-15 16:29:09,985 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 45 transitions. [2022-04-15 16:29:09,986 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-15 16:29:09,986 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:29:09,986 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 16:29:10,009 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-15 16:29:10,186 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:29:10,187 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:29:10,187 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:29:10,187 INFO L85 PathProgramCache]: Analyzing trace with hash 1025268728, now seen corresponding path program 3 times [2022-04-15 16:29:10,187 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:29:10,187 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [394746227] [2022-04-15 16:29:10,187 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:29:10,188 INFO L85 PathProgramCache]: Analyzing trace with hash 1025268728, now seen corresponding path program 4 times [2022-04-15 16:29:10,188 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:29:10,188 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2070266994] [2022-04-15 16:29:10,188 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:29:10,188 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:29:10,198 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 16:29:10,199 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1153388880] [2022-04-15 16:29:10,199 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 16:29:10,199 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:29:10,199 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:29:10,200 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 16:29:10,201 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-15 16:29:10,241 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 16:29:10,241 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 16:29:10,242 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-15 16:29:10,261 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:29:10,262 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 16:30:48,977 WARN L232 SmtUtils]: Spent 5.75s on a formula simplification. DAG size of input: 4 DAG size of output: 1 (called from [L1074] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2022-04-15 16:30:49,742 INFO L272 TraceCheckUtils]: 0: Hoare triple {2567#true} call ULTIMATE.init(); {2567#true} is VALID [2022-04-15 16:30:49,742 INFO L290 TraceCheckUtils]: 1: Hoare triple {2567#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {2567#true} is VALID [2022-04-15 16:30:49,742 INFO L290 TraceCheckUtils]: 2: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-15 16:30:49,742 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2567#true} {2567#true} #71#return; {2567#true} is VALID [2022-04-15 16:30:49,742 INFO L272 TraceCheckUtils]: 4: Hoare triple {2567#true} call #t~ret6 := main(); {2567#true} is VALID [2022-04-15 16:30:49,742 INFO L290 TraceCheckUtils]: 5: Hoare triple {2567#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {2567#true} is VALID [2022-04-15 16:30:49,742 INFO L272 TraceCheckUtils]: 6: Hoare triple {2567#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 20 then 1 else 0)); {2567#true} is VALID [2022-04-15 16:30:49,742 INFO L290 TraceCheckUtils]: 7: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-15 16:30:49,742 INFO L290 TraceCheckUtils]: 8: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-15 16:30:49,743 INFO L290 TraceCheckUtils]: 9: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-15 16:30:49,743 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2567#true} {2567#true} #61#return; {2567#true} is VALID [2022-04-15 16:30:49,743 INFO L290 TraceCheckUtils]: 11: Hoare triple {2567#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2567#true} is VALID [2022-04-15 16:30:49,743 INFO L272 TraceCheckUtils]: 12: Hoare triple {2567#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 20 then 1 else 0)); {2567#true} is VALID [2022-04-15 16:30:49,743 INFO L290 TraceCheckUtils]: 13: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-15 16:30:49,743 INFO L290 TraceCheckUtils]: 14: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-15 16:30:49,743 INFO L290 TraceCheckUtils]: 15: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-15 16:30:49,743 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2567#true} {2567#true} #63#return; {2567#true} is VALID [2022-04-15 16:30:49,743 INFO L272 TraceCheckUtils]: 17: Hoare triple {2567#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2567#true} is VALID [2022-04-15 16:30:49,743 INFO L290 TraceCheckUtils]: 18: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-15 16:30:49,743 INFO L290 TraceCheckUtils]: 19: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-15 16:30:49,743 INFO L290 TraceCheckUtils]: 20: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-15 16:30:49,744 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2567#true} {2567#true} #65#return; {2567#true} is VALID [2022-04-15 16:30:49,744 INFO L290 TraceCheckUtils]: 22: Hoare triple {2567#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2638#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:30:49,744 INFO L290 TraceCheckUtils]: 23: Hoare triple {2638#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {2638#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:30:49,744 INFO L272 TraceCheckUtils]: 24: Hoare triple {2638#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2567#true} is VALID [2022-04-15 16:30:49,745 INFO L290 TraceCheckUtils]: 25: Hoare triple {2567#true} ~cond := #in~cond; {2648#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:30:49,745 INFO L290 TraceCheckUtils]: 26: Hoare triple {2648#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:30:49,745 INFO L290 TraceCheckUtils]: 27: Hoare triple {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:30:49,746 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} {2638#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #67#return; {2638#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:30:49,746 INFO L290 TraceCheckUtils]: 29: Hoare triple {2638#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {2662#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:30:49,747 INFO L290 TraceCheckUtils]: 30: Hoare triple {2662#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2666#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (= main_~z~0 main_~x~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:30:49,748 INFO L290 TraceCheckUtils]: 31: Hoare triple {2666#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (= main_~z~0 main_~x~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2670#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 16:30:49,748 INFO L290 TraceCheckUtils]: 32: Hoare triple {2670#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {2670#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 16:30:49,749 INFO L272 TraceCheckUtils]: 33: Hoare triple {2670#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2567#true} is VALID [2022-04-15 16:30:49,750 INFO L290 TraceCheckUtils]: 34: Hoare triple {2567#true} ~cond := #in~cond; {2648#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:30:49,750 INFO L290 TraceCheckUtils]: 35: Hoare triple {2648#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:30:49,754 INFO L290 TraceCheckUtils]: 36: Hoare triple {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:30:49,755 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} {2670#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} #67#return; {2689#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 16:30:49,756 INFO L290 TraceCheckUtils]: 38: Hoare triple {2689#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !!(0 != ~y~0); {2693#(and (not (= main_~y~0 0)) (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 16:30:49,758 INFO L290 TraceCheckUtils]: 39: Hoare triple {2693#(and (not (= main_~y~0 0)) (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2697#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (+ (* main_~x~0 3) (* 2 (* main_~y~0 main_~x~0))) (* 2 (* main_~b~0 main_~a~0))) (= (div (+ (- 1) main_~b~0) 2) (+ main_~y~0 1)) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-15 16:30:49,762 INFO L290 TraceCheckUtils]: 40: Hoare triple {2697#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (+ (* main_~x~0 3) (* 2 (* main_~y~0 main_~x~0))) (* 2 (* main_~b~0 main_~a~0))) (= (div (+ (- 1) main_~b~0) 2) (+ main_~y~0 1)) (<= 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2701#(and (<= 1 (mod main_~b~0 2)) (<= 0 (div (+ (- 1) main_~b~0) 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (= (+ (* (div main_~x~0 2) 3) (* 2 (* (+ (- 1) (div (+ (- 1) main_~b~0) 2)) (div main_~x~0 2)))) (* 2 (* main_~b~0 main_~a~0))) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (= (+ main_~z~0 (* (+ (- 1) (div (+ (- 1) main_~b~0) 2)) (div main_~x~0 2))) (* main_~b~0 main_~a~0)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-15 16:30:49,763 INFO L290 TraceCheckUtils]: 41: Hoare triple {2701#(and (<= 1 (mod main_~b~0 2)) (<= 0 (div (+ (- 1) main_~b~0) 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (= (+ (* (div main_~x~0 2) 3) (* 2 (* (+ (- 1) (div (+ (- 1) main_~b~0) 2)) (div main_~x~0 2)))) (* 2 (* main_~b~0 main_~a~0))) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (= (+ main_~z~0 (* (+ (- 1) (div (+ (- 1) main_~b~0) 2)) (div main_~x~0 2))) (* main_~b~0 main_~a~0)) (= (mod main_~x~0 2) 0))} assume !false; {2701#(and (<= 1 (mod main_~b~0 2)) (<= 0 (div (+ (- 1) main_~b~0) 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (= (+ (* (div main_~x~0 2) 3) (* 2 (* (+ (- 1) (div (+ (- 1) main_~b~0) 2)) (div main_~x~0 2)))) (* 2 (* main_~b~0 main_~a~0))) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (= (+ main_~z~0 (* (+ (- 1) (div (+ (- 1) main_~b~0) 2)) (div main_~x~0 2))) (* main_~b~0 main_~a~0)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-15 16:30:51,765 WARN L272 TraceCheckUtils]: 42: Hoare triple {2701#(and (<= 1 (mod main_~b~0 2)) (<= 0 (div (+ (- 1) main_~b~0) 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (= (+ (* (div main_~x~0 2) 3) (* 2 (* (+ (- 1) (div (+ (- 1) main_~b~0) 2)) (div main_~x~0 2)))) (* 2 (* main_~b~0 main_~a~0))) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (= (+ main_~z~0 (* (+ (- 1) (div (+ (- 1) main_~b~0) 2)) (div main_~x~0 2))) (* main_~b~0 main_~a~0)) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2708#(<= 1 |__VERIFIER_assert_#in~cond|)} is UNKNOWN [2022-04-15 16:30:51,765 INFO L290 TraceCheckUtils]: 43: Hoare triple {2708#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2712#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:30:51,766 INFO L290 TraceCheckUtils]: 44: Hoare triple {2712#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2568#false} is VALID [2022-04-15 16:30:51,766 INFO L290 TraceCheckUtils]: 45: Hoare triple {2568#false} assume !false; {2568#false} is VALID [2022-04-15 16:30:51,766 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 2 proven. 11 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-15 16:30:51,766 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 16:31:50,382 INFO L290 TraceCheckUtils]: 45: Hoare triple {2568#false} assume !false; {2568#false} is VALID [2022-04-15 16:31:50,383 INFO L290 TraceCheckUtils]: 44: Hoare triple {2712#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2568#false} is VALID [2022-04-15 16:31:50,383 INFO L290 TraceCheckUtils]: 43: Hoare triple {2708#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2712#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:31:50,384 INFO L272 TraceCheckUtils]: 42: Hoare triple {2728#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2708#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:31:50,384 INFO L290 TraceCheckUtils]: 41: Hoare triple {2728#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {2728#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:31:50,388 INFO L290 TraceCheckUtils]: 40: Hoare triple {2735#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2728#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:31:50,390 INFO L290 TraceCheckUtils]: 39: Hoare triple {2739#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2735#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-15 16:31:50,391 INFO L290 TraceCheckUtils]: 38: Hoare triple {2739#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {2739#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-15 16:31:51,955 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} {2567#true} #67#return; {2739#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-15 16:31:51,956 INFO L290 TraceCheckUtils]: 36: Hoare triple {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:31:51,957 INFO L290 TraceCheckUtils]: 35: Hoare triple {2755#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:31:51,957 INFO L290 TraceCheckUtils]: 34: Hoare triple {2567#true} ~cond := #in~cond; {2755#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 16:31:51,957 INFO L272 TraceCheckUtils]: 33: Hoare triple {2567#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2567#true} is VALID [2022-04-15 16:31:51,957 INFO L290 TraceCheckUtils]: 32: Hoare triple {2567#true} assume !false; {2567#true} is VALID [2022-04-15 16:31:51,957 INFO L290 TraceCheckUtils]: 31: Hoare triple {2567#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2567#true} is VALID [2022-04-15 16:31:51,957 INFO L290 TraceCheckUtils]: 30: Hoare triple {2567#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2567#true} is VALID [2022-04-15 16:31:51,957 INFO L290 TraceCheckUtils]: 29: Hoare triple {2567#true} assume !!(0 != ~y~0); {2567#true} is VALID [2022-04-15 16:31:51,958 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2567#true} {2567#true} #67#return; {2567#true} is VALID [2022-04-15 16:31:51,958 INFO L290 TraceCheckUtils]: 27: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-15 16:31:51,958 INFO L290 TraceCheckUtils]: 26: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-15 16:31:51,958 INFO L290 TraceCheckUtils]: 25: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-15 16:31:51,958 INFO L272 TraceCheckUtils]: 24: Hoare triple {2567#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2567#true} is VALID [2022-04-15 16:31:51,958 INFO L290 TraceCheckUtils]: 23: Hoare triple {2567#true} assume !false; {2567#true} is VALID [2022-04-15 16:31:51,958 INFO L290 TraceCheckUtils]: 22: Hoare triple {2567#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2567#true} is VALID [2022-04-15 16:31:51,958 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2567#true} {2567#true} #65#return; {2567#true} is VALID [2022-04-15 16:31:51,958 INFO L290 TraceCheckUtils]: 20: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-15 16:31:51,958 INFO L290 TraceCheckUtils]: 19: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-15 16:31:51,958 INFO L290 TraceCheckUtils]: 18: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-15 16:31:51,958 INFO L272 TraceCheckUtils]: 17: Hoare triple {2567#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2567#true} is VALID [2022-04-15 16:31:51,958 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2567#true} {2567#true} #63#return; {2567#true} is VALID [2022-04-15 16:31:51,959 INFO L290 TraceCheckUtils]: 15: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-15 16:31:51,959 INFO L290 TraceCheckUtils]: 14: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-15 16:31:51,959 INFO L290 TraceCheckUtils]: 13: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-15 16:31:51,959 INFO L272 TraceCheckUtils]: 12: Hoare triple {2567#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 20 then 1 else 0)); {2567#true} is VALID [2022-04-15 16:31:51,959 INFO L290 TraceCheckUtils]: 11: Hoare triple {2567#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2567#true} is VALID [2022-04-15 16:31:51,959 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2567#true} {2567#true} #61#return; {2567#true} is VALID [2022-04-15 16:31:51,959 INFO L290 TraceCheckUtils]: 9: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-15 16:31:51,959 INFO L290 TraceCheckUtils]: 8: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-15 16:31:51,959 INFO L290 TraceCheckUtils]: 7: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-15 16:31:51,959 INFO L272 TraceCheckUtils]: 6: Hoare triple {2567#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 20 then 1 else 0)); {2567#true} is VALID [2022-04-15 16:31:51,959 INFO L290 TraceCheckUtils]: 5: Hoare triple {2567#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {2567#true} is VALID [2022-04-15 16:31:51,959 INFO L272 TraceCheckUtils]: 4: Hoare triple {2567#true} call #t~ret6 := main(); {2567#true} is VALID [2022-04-15 16:31:51,959 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2567#true} {2567#true} #71#return; {2567#true} is VALID [2022-04-15 16:31:51,960 INFO L290 TraceCheckUtils]: 2: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-15 16:31:51,960 INFO L290 TraceCheckUtils]: 1: Hoare triple {2567#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {2567#true} is VALID [2022-04-15 16:31:51,960 INFO L272 TraceCheckUtils]: 0: Hoare triple {2567#true} call ULTIMATE.init(); {2567#true} is VALID [2022-04-15 16:31:51,960 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 13 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-15 16:31:51,960 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 16:31:51,960 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2070266994] [2022-04-15 16:31:51,960 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 16:31:51,960 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1153388880] [2022-04-15 16:31:51,960 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1153388880] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 16:31:51,960 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 16:31:51,960 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 9] total 18 [2022-04-15 16:31:51,961 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 16:31:51,961 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [394746227] [2022-04-15 16:31:51,961 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [394746227] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:31:51,961 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:31:51,961 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 16:31:51,961 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [281933193] [2022-04-15 16:31:51,961 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 16:31:51,961 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 1.6428571428571428) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-15 16:31:51,962 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 16:31:51,962 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 1.6428571428571428) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 16:31:53,173 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:31:53,173 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 16:31:53,174 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 16:31:53,174 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 16:31:53,174 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=245, Unknown=1, NotChecked=0, Total=306 [2022-04-15 16:31:53,174 INFO L87 Difference]: Start difference. First operand 41 states and 45 transitions. Second operand has 14 states, 14 states have (on average 1.6428571428571428) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 16:31:59,002 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.09s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 16:32:02,622 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 16:32:04,626 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 16:32:09,424 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.31s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 16:32:14,736 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:32:14,737 INFO L93 Difference]: Finished difference Result 59 states and 66 transitions. [2022-04-15 16:32:14,737 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 16:32:14,737 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 1.6428571428571428) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-15 16:32:14,737 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 16:32:14,737 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 1.6428571428571428) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 16:32:14,738 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 57 transitions. [2022-04-15 16:32:14,738 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 1.6428571428571428) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 16:32:14,739 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 57 transitions. [2022-04-15 16:32:14,739 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 57 transitions. [2022-04-15 16:32:15,821 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:32:15,822 INFO L225 Difference]: With dead ends: 59 [2022-04-15 16:32:15,822 INFO L226 Difference]: Without dead ends: 57 [2022-04-15 16:32:15,822 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 72 SyntacticMatches, 3 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 60 ImplicationChecksByTransitivity, 18.1s TimeCoverageRelationStatistics Valid=73, Invalid=306, Unknown=1, NotChecked=0, Total=380 [2022-04-15 16:32:15,822 INFO L913 BasicCegarLoop]: 25 mSDtfsCounter, 22 mSDsluCounter, 143 mSDsCounter, 0 mSdLazyCounter, 229 mSolverCounterSat, 3 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 10.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 168 SdHoareTripleChecker+Invalid, 234 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 229 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 10.5s IncrementalHoareTripleChecker+Time [2022-04-15 16:32:15,823 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [24 Valid, 168 Invalid, 234 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 229 Invalid, 2 Unknown, 0 Unchecked, 10.5s Time] [2022-04-15 16:32:15,823 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2022-04-15 16:32:15,863 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 53. [2022-04-15 16:32:15,863 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 16:32:15,863 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 16:32:15,863 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 16:32:15,864 INFO L87 Difference]: Start difference. First operand 57 states. Second operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 16:32:15,865 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:32:15,865 INFO L93 Difference]: Finished difference Result 57 states and 64 transitions. [2022-04-15 16:32:15,865 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 64 transitions. [2022-04-15 16:32:15,865 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:32:15,865 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:32:15,865 INFO L74 IsIncluded]: Start isIncluded. First operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 57 states. [2022-04-15 16:32:15,866 INFO L87 Difference]: Start difference. First operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 57 states. [2022-04-15 16:32:15,867 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:32:15,867 INFO L93 Difference]: Finished difference Result 57 states and 64 transitions. [2022-04-15 16:32:15,867 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 64 transitions. [2022-04-15 16:32:15,867 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:32:15,867 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:32:15,867 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 16:32:15,867 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 16:32:15,867 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 16:32:15,868 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 59 transitions. [2022-04-15 16:32:15,868 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 59 transitions. Word has length 46 [2022-04-15 16:32:15,869 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 16:32:15,869 INFO L478 AbstractCegarLoop]: Abstraction has 53 states and 59 transitions. [2022-04-15 16:32:15,869 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 1.6428571428571428) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 16:32:15,869 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 53 states and 59 transitions. [2022-04-15 16:32:27,059 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 54 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-15 16:32:27,059 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 59 transitions. [2022-04-15 16:32:27,060 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-15 16:32:27,060 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:32:27,060 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 16:32:27,076 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-15 16:32:27,265 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:32:27,265 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:32:27,266 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:32:27,266 INFO L85 PathProgramCache]: Analyzing trace with hash -1494691206, now seen corresponding path program 1 times [2022-04-15 16:32:27,266 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:32:27,266 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [65553972] [2022-04-15 16:32:27,266 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:32:27,266 INFO L85 PathProgramCache]: Analyzing trace with hash -1494691206, now seen corresponding path program 2 times [2022-04-15 16:32:27,266 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:32:27,266 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [874896780] [2022-04-15 16:32:27,266 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:32:27,267 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:32:27,298 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 16:32:27,298 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1635143169] [2022-04-15 16:32:27,298 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 16:32:27,298 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:32:27,298 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:32:27,304 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 16:32:27,304 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-15 16:32:27,341 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 16:32:27,341 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 16:32:27,342 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-15 16:32:27,353 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:32:27,354 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 16:32:40,228 INFO L272 TraceCheckUtils]: 0: Hoare triple {3202#true} call ULTIMATE.init(); {3202#true} is VALID [2022-04-15 16:32:40,228 INFO L290 TraceCheckUtils]: 1: Hoare triple {3202#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {3202#true} is VALID [2022-04-15 16:32:40,228 INFO L290 TraceCheckUtils]: 2: Hoare triple {3202#true} assume true; {3202#true} is VALID [2022-04-15 16:32:40,228 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3202#true} {3202#true} #71#return; {3202#true} is VALID [2022-04-15 16:32:40,228 INFO L272 TraceCheckUtils]: 4: Hoare triple {3202#true} call #t~ret6 := main(); {3202#true} is VALID [2022-04-15 16:32:40,228 INFO L290 TraceCheckUtils]: 5: Hoare triple {3202#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {3202#true} is VALID [2022-04-15 16:32:40,228 INFO L272 TraceCheckUtils]: 6: Hoare triple {3202#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 20 then 1 else 0)); {3202#true} is VALID [2022-04-15 16:32:40,228 INFO L290 TraceCheckUtils]: 7: Hoare triple {3202#true} ~cond := #in~cond; {3202#true} is VALID [2022-04-15 16:32:40,229 INFO L290 TraceCheckUtils]: 8: Hoare triple {3202#true} assume !(0 == ~cond); {3202#true} is VALID [2022-04-15 16:32:40,229 INFO L290 TraceCheckUtils]: 9: Hoare triple {3202#true} assume true; {3202#true} is VALID [2022-04-15 16:32:40,229 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3202#true} {3202#true} #61#return; {3202#true} is VALID [2022-04-15 16:32:40,229 INFO L290 TraceCheckUtils]: 11: Hoare triple {3202#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3202#true} is VALID [2022-04-15 16:32:40,229 INFO L272 TraceCheckUtils]: 12: Hoare triple {3202#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 20 then 1 else 0)); {3202#true} is VALID [2022-04-15 16:32:40,229 INFO L290 TraceCheckUtils]: 13: Hoare triple {3202#true} ~cond := #in~cond; {3202#true} is VALID [2022-04-15 16:32:40,229 INFO L290 TraceCheckUtils]: 14: Hoare triple {3202#true} assume !(0 == ~cond); {3202#true} is VALID [2022-04-15 16:32:40,229 INFO L290 TraceCheckUtils]: 15: Hoare triple {3202#true} assume true; {3202#true} is VALID [2022-04-15 16:32:40,229 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3202#true} {3202#true} #63#return; {3202#true} is VALID [2022-04-15 16:32:40,229 INFO L272 TraceCheckUtils]: 17: Hoare triple {3202#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3202#true} is VALID [2022-04-15 16:32:40,229 INFO L290 TraceCheckUtils]: 18: Hoare triple {3202#true} ~cond := #in~cond; {3202#true} is VALID [2022-04-15 16:32:40,229 INFO L290 TraceCheckUtils]: 19: Hoare triple {3202#true} assume !(0 == ~cond); {3202#true} is VALID [2022-04-15 16:32:40,229 INFO L290 TraceCheckUtils]: 20: Hoare triple {3202#true} assume true; {3202#true} is VALID [2022-04-15 16:32:40,230 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3202#true} {3202#true} #65#return; {3202#true} is VALID [2022-04-15 16:32:40,230 INFO L290 TraceCheckUtils]: 22: Hoare triple {3202#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3273#(= main_~b~0 main_~y~0)} is VALID [2022-04-15 16:32:40,230 INFO L290 TraceCheckUtils]: 23: Hoare triple {3273#(= main_~b~0 main_~y~0)} assume !false; {3273#(= main_~b~0 main_~y~0)} is VALID [2022-04-15 16:32:40,230 INFO L272 TraceCheckUtils]: 24: Hoare triple {3273#(= main_~b~0 main_~y~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3202#true} is VALID [2022-04-15 16:32:40,230 INFO L290 TraceCheckUtils]: 25: Hoare triple {3202#true} ~cond := #in~cond; {3202#true} is VALID [2022-04-15 16:32:40,230 INFO L290 TraceCheckUtils]: 26: Hoare triple {3202#true} assume !(0 == ~cond); {3202#true} is VALID [2022-04-15 16:32:40,230 INFO L290 TraceCheckUtils]: 27: Hoare triple {3202#true} assume true; {3202#true} is VALID [2022-04-15 16:32:40,235 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3202#true} {3273#(= main_~b~0 main_~y~0)} #67#return; {3273#(= main_~b~0 main_~y~0)} is VALID [2022-04-15 16:32:40,235 INFO L290 TraceCheckUtils]: 29: Hoare triple {3273#(= main_~b~0 main_~y~0)} assume !!(0 != ~y~0); {3295#(and (not (= main_~y~0 0)) (= main_~b~0 main_~y~0))} is VALID [2022-04-15 16:32:40,236 INFO L290 TraceCheckUtils]: 30: Hoare triple {3295#(and (not (= main_~y~0 0)) (= main_~b~0 main_~y~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {3299#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} is VALID [2022-04-15 16:32:40,237 INFO L290 TraceCheckUtils]: 31: Hoare triple {3299#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3303#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 16:32:40,237 INFO L290 TraceCheckUtils]: 32: Hoare triple {3303#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {3303#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 16:32:40,237 INFO L272 TraceCheckUtils]: 33: Hoare triple {3303#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3202#true} is VALID [2022-04-15 16:32:40,238 INFO L290 TraceCheckUtils]: 34: Hoare triple {3202#true} ~cond := #in~cond; {3313#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:32:40,238 INFO L290 TraceCheckUtils]: 35: Hoare triple {3313#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3317#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:32:40,238 INFO L290 TraceCheckUtils]: 36: Hoare triple {3317#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3317#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:32:40,239 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3317#(not (= |__VERIFIER_assert_#in~cond| 0))} {3303#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} #67#return; {3324#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 16:32:40,239 INFO L290 TraceCheckUtils]: 38: Hoare triple {3324#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !!(0 != ~y~0); {3324#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 16:32:40,240 INFO L290 TraceCheckUtils]: 39: Hoare triple {3324#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3331#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 16:32:40,873 INFO L290 TraceCheckUtils]: 40: Hoare triple {3331#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3335#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-15 16:32:40,874 INFO L290 TraceCheckUtils]: 41: Hoare triple {3335#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} assume !false; {3335#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-15 16:32:41,127 INFO L272 TraceCheckUtils]: 42: Hoare triple {3335#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3342#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:32:41,128 INFO L290 TraceCheckUtils]: 43: Hoare triple {3342#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3346#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:32:41,128 INFO L290 TraceCheckUtils]: 44: Hoare triple {3346#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3203#false} is VALID [2022-04-15 16:32:41,128 INFO L290 TraceCheckUtils]: 45: Hoare triple {3203#false} assume !false; {3203#false} is VALID [2022-04-15 16:32:41,129 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-15 16:32:41,129 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 16:33:09,461 INFO L290 TraceCheckUtils]: 45: Hoare triple {3203#false} assume !false; {3203#false} is VALID [2022-04-15 16:33:09,462 INFO L290 TraceCheckUtils]: 44: Hoare triple {3346#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3203#false} is VALID [2022-04-15 16:33:09,462 INFO L290 TraceCheckUtils]: 43: Hoare triple {3342#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3346#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:33:09,463 INFO L272 TraceCheckUtils]: 42: Hoare triple {3362#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3342#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:33:09,463 INFO L290 TraceCheckUtils]: 41: Hoare triple {3362#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {3362#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:33:09,467 INFO L290 TraceCheckUtils]: 40: Hoare triple {3369#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3362#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:33:09,468 INFO L290 TraceCheckUtils]: 39: Hoare triple {3373#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3369#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-15 16:33:09,468 INFO L290 TraceCheckUtils]: 38: Hoare triple {3373#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {3373#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-15 16:33:09,471 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3317#(not (= |__VERIFIER_assert_#in~cond| 0))} {3380#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} #67#return; {3373#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-15 16:33:09,471 INFO L290 TraceCheckUtils]: 36: Hoare triple {3317#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3317#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:33:09,471 INFO L290 TraceCheckUtils]: 35: Hoare triple {3390#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3317#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:33:09,472 INFO L290 TraceCheckUtils]: 34: Hoare triple {3202#true} ~cond := #in~cond; {3390#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 16:33:09,472 INFO L272 TraceCheckUtils]: 33: Hoare triple {3380#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3202#true} is VALID [2022-04-15 16:33:09,472 INFO L290 TraceCheckUtils]: 32: Hoare triple {3380#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} assume !false; {3380#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-15 16:33:09,474 INFO L290 TraceCheckUtils]: 31: Hoare triple {3400#(and (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (<= (div (- (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))) (or (<= 0 (+ (div main_~y~0 2) 1)) (= (mod main_~y~0 2) 0) (<= (div (+ (- 1) (* (- 1) (div main_~y~0 2))) (- 2)) (+ (div (+ (- 1) (div main_~y~0 2)) 2) 1))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3380#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-15 16:33:09,475 INFO L290 TraceCheckUtils]: 30: Hoare triple {3202#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {3400#(and (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (<= (div (- (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))) (or (<= 0 (+ (div main_~y~0 2) 1)) (= (mod main_~y~0 2) 0) (<= (div (+ (- 1) (* (- 1) (div main_~y~0 2))) (- 2)) (+ (div (+ (- 1) (div main_~y~0 2)) 2) 1))))} is VALID [2022-04-15 16:33:09,475 INFO L290 TraceCheckUtils]: 29: Hoare triple {3202#true} assume !!(0 != ~y~0); {3202#true} is VALID [2022-04-15 16:33:09,476 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3202#true} {3202#true} #67#return; {3202#true} is VALID [2022-04-15 16:33:09,476 INFO L290 TraceCheckUtils]: 27: Hoare triple {3202#true} assume true; {3202#true} is VALID [2022-04-15 16:33:09,476 INFO L290 TraceCheckUtils]: 26: Hoare triple {3202#true} assume !(0 == ~cond); {3202#true} is VALID [2022-04-15 16:33:09,476 INFO L290 TraceCheckUtils]: 25: Hoare triple {3202#true} ~cond := #in~cond; {3202#true} is VALID [2022-04-15 16:33:09,476 INFO L272 TraceCheckUtils]: 24: Hoare triple {3202#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3202#true} is VALID [2022-04-15 16:33:09,476 INFO L290 TraceCheckUtils]: 23: Hoare triple {3202#true} assume !false; {3202#true} is VALID [2022-04-15 16:33:09,476 INFO L290 TraceCheckUtils]: 22: Hoare triple {3202#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3202#true} is VALID [2022-04-15 16:33:09,476 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3202#true} {3202#true} #65#return; {3202#true} is VALID [2022-04-15 16:33:09,476 INFO L290 TraceCheckUtils]: 20: Hoare triple {3202#true} assume true; {3202#true} is VALID [2022-04-15 16:33:09,476 INFO L290 TraceCheckUtils]: 19: Hoare triple {3202#true} assume !(0 == ~cond); {3202#true} is VALID [2022-04-15 16:33:09,476 INFO L290 TraceCheckUtils]: 18: Hoare triple {3202#true} ~cond := #in~cond; {3202#true} is VALID [2022-04-15 16:33:09,476 INFO L272 TraceCheckUtils]: 17: Hoare triple {3202#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3202#true} is VALID [2022-04-15 16:33:09,476 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3202#true} {3202#true} #63#return; {3202#true} is VALID [2022-04-15 16:33:09,476 INFO L290 TraceCheckUtils]: 15: Hoare triple {3202#true} assume true; {3202#true} is VALID [2022-04-15 16:33:09,477 INFO L290 TraceCheckUtils]: 14: Hoare triple {3202#true} assume !(0 == ~cond); {3202#true} is VALID [2022-04-15 16:33:09,477 INFO L290 TraceCheckUtils]: 13: Hoare triple {3202#true} ~cond := #in~cond; {3202#true} is VALID [2022-04-15 16:33:09,477 INFO L272 TraceCheckUtils]: 12: Hoare triple {3202#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 20 then 1 else 0)); {3202#true} is VALID [2022-04-15 16:33:09,477 INFO L290 TraceCheckUtils]: 11: Hoare triple {3202#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3202#true} is VALID [2022-04-15 16:33:09,477 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3202#true} {3202#true} #61#return; {3202#true} is VALID [2022-04-15 16:33:09,477 INFO L290 TraceCheckUtils]: 9: Hoare triple {3202#true} assume true; {3202#true} is VALID [2022-04-15 16:33:09,477 INFO L290 TraceCheckUtils]: 8: Hoare triple {3202#true} assume !(0 == ~cond); {3202#true} is VALID [2022-04-15 16:33:09,477 INFO L290 TraceCheckUtils]: 7: Hoare triple {3202#true} ~cond := #in~cond; {3202#true} is VALID [2022-04-15 16:33:09,477 INFO L272 TraceCheckUtils]: 6: Hoare triple {3202#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 20 then 1 else 0)); {3202#true} is VALID [2022-04-15 16:33:09,477 INFO L290 TraceCheckUtils]: 5: Hoare triple {3202#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {3202#true} is VALID [2022-04-15 16:33:09,477 INFO L272 TraceCheckUtils]: 4: Hoare triple {3202#true} call #t~ret6 := main(); {3202#true} is VALID [2022-04-15 16:33:09,477 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3202#true} {3202#true} #71#return; {3202#true} is VALID [2022-04-15 16:33:09,477 INFO L290 TraceCheckUtils]: 2: Hoare triple {3202#true} assume true; {3202#true} is VALID [2022-04-15 16:33:09,477 INFO L290 TraceCheckUtils]: 1: Hoare triple {3202#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {3202#true} is VALID [2022-04-15 16:33:09,478 INFO L272 TraceCheckUtils]: 0: Hoare triple {3202#true} call ULTIMATE.init(); {3202#true} is VALID [2022-04-15 16:33:09,478 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 12 proven. 4 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-15 16:33:09,478 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 16:33:09,478 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [874896780] [2022-04-15 16:33:09,478 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 16:33:09,478 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1635143169] [2022-04-15 16:33:09,478 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1635143169] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 16:33:09,478 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 16:33:09,478 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 11] total 19 [2022-04-15 16:33:09,479 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 16:33:09,479 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [65553972] [2022-04-15 16:33:09,479 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [65553972] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:33:09,479 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:33:09,479 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 16:33:09,479 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1843371314] [2022-04-15 16:33:09,479 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 16:33:09,479 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-15 16:33:09,479 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 16:33:09,480 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 16:33:12,892 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 39 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 16:33:12,893 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 16:33:12,893 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 16:33:12,893 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 16:33:12,893 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=281, Unknown=1, NotChecked=0, Total=342 [2022-04-15 16:33:12,894 INFO L87 Difference]: Start difference. First operand 53 states and 59 transitions. Second operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 16:33:18,068 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.71s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 16:33:20,341 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.10s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 16:33:23,612 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.49s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 16:33:27,387 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.77s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 16:33:30,349 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 16:33:30,700 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:33:30,700 INFO L93 Difference]: Finished difference Result 65 states and 72 transitions. [2022-04-15 16:33:30,700 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 16:33:30,700 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-15 16:33:30,701 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 16:33:30,701 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 16:33:30,702 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-15 16:33:30,702 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 16:33:30,703 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-15 16:33:30,703 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 56 transitions. [2022-04-15 16:33:32,872 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 55 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 16:33:32,873 INFO L225 Difference]: With dead ends: 65 [2022-04-15 16:33:32,873 INFO L226 Difference]: Without dead ends: 63 [2022-04-15 16:33:32,873 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 73 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 65 ImplicationChecksByTransitivity, 3.2s TimeCoverageRelationStatistics Valid=73, Invalid=346, Unknown=1, NotChecked=0, Total=420 [2022-04-15 16:33:32,874 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 17 mSDsluCounter, 156 mSDsCounter, 0 mSdLazyCounter, 224 mSolverCounterSat, 1 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 8.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 183 SdHoareTripleChecker+Invalid, 226 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 224 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 8.9s IncrementalHoareTripleChecker+Time [2022-04-15 16:33:32,874 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 183 Invalid, 226 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 224 Invalid, 1 Unknown, 0 Unchecked, 8.9s Time] [2022-04-15 16:33:32,874 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-15 16:33:32,922 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 53. [2022-04-15 16:33:32,923 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 16:33:32,923 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 16:33:32,923 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 16:33:32,923 INFO L87 Difference]: Start difference. First operand 63 states. Second operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 16:33:32,924 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:33:32,924 INFO L93 Difference]: Finished difference Result 63 states and 70 transitions. [2022-04-15 16:33:32,925 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 70 transitions. [2022-04-15 16:33:32,925 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:33:32,925 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:33:32,925 INFO L74 IsIncluded]: Start isIncluded. First operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 63 states. [2022-04-15 16:33:32,925 INFO L87 Difference]: Start difference. First operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 63 states. [2022-04-15 16:33:32,926 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:33:32,926 INFO L93 Difference]: Finished difference Result 63 states and 70 transitions. [2022-04-15 16:33:32,926 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 70 transitions. [2022-04-15 16:33:32,927 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:33:32,927 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:33:32,927 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 16:33:32,927 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 16:33:32,927 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 16:33:32,928 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 59 transitions. [2022-04-15 16:33:32,928 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 59 transitions. Word has length 46 [2022-04-15 16:33:32,928 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 16:33:32,928 INFO L478 AbstractCegarLoop]: Abstraction has 53 states and 59 transitions. [2022-04-15 16:33:32,929 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 16:33:32,929 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 53 states and 59 transitions. [2022-04-15 16:33:45,345 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 54 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-15 16:33:45,345 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 59 transitions. [2022-04-15 16:33:45,345 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-15 16:33:45,345 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:33:45,346 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 16:33:45,361 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-04-15 16:33:45,559 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:33:45,559 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:33:45,559 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:33:45,559 INFO L85 PathProgramCache]: Analyzing trace with hash 4200374, now seen corresponding path program 3 times [2022-04-15 16:33:45,559 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:33:45,560 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1348627945] [2022-04-15 16:33:45,560 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:33:45,560 INFO L85 PathProgramCache]: Analyzing trace with hash 4200374, now seen corresponding path program 4 times [2022-04-15 16:33:45,560 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:33:45,560 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2140563564] [2022-04-15 16:33:45,560 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:33:45,560 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:33:45,582 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 16:33:45,583 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [412770213] [2022-04-15 16:33:45,583 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 16:33:45,583 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:33:45,583 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:33:45,596 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 16:33:45,596 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-15 16:33:45,627 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 16:33:45,628 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 16:33:45,628 INFO L263 TraceCheckSpWp]: Trace formula consists of 88 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-15 16:33:45,639 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:33:45,640 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 16:34:06,602 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 16:34:07,143 INFO L272 TraceCheckUtils]: 0: Hoare triple {3862#true} call ULTIMATE.init(); {3862#true} is VALID [2022-04-15 16:34:07,143 INFO L290 TraceCheckUtils]: 1: Hoare triple {3862#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {3862#true} is VALID [2022-04-15 16:34:07,144 INFO L290 TraceCheckUtils]: 2: Hoare triple {3862#true} assume true; {3862#true} is VALID [2022-04-15 16:34:07,144 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3862#true} {3862#true} #71#return; {3862#true} is VALID [2022-04-15 16:34:07,144 INFO L272 TraceCheckUtils]: 4: Hoare triple {3862#true} call #t~ret6 := main(); {3862#true} is VALID [2022-04-15 16:34:07,144 INFO L290 TraceCheckUtils]: 5: Hoare triple {3862#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {3862#true} is VALID [2022-04-15 16:34:07,144 INFO L272 TraceCheckUtils]: 6: Hoare triple {3862#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 20 then 1 else 0)); {3862#true} is VALID [2022-04-15 16:34:07,144 INFO L290 TraceCheckUtils]: 7: Hoare triple {3862#true} ~cond := #in~cond; {3862#true} is VALID [2022-04-15 16:34:07,144 INFO L290 TraceCheckUtils]: 8: Hoare triple {3862#true} assume !(0 == ~cond); {3862#true} is VALID [2022-04-15 16:34:07,144 INFO L290 TraceCheckUtils]: 9: Hoare triple {3862#true} assume true; {3862#true} is VALID [2022-04-15 16:34:07,144 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3862#true} {3862#true} #61#return; {3862#true} is VALID [2022-04-15 16:34:07,144 INFO L290 TraceCheckUtils]: 11: Hoare triple {3862#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3862#true} is VALID [2022-04-15 16:34:07,144 INFO L272 TraceCheckUtils]: 12: Hoare triple {3862#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 20 then 1 else 0)); {3862#true} is VALID [2022-04-15 16:34:07,144 INFO L290 TraceCheckUtils]: 13: Hoare triple {3862#true} ~cond := #in~cond; {3862#true} is VALID [2022-04-15 16:34:07,144 INFO L290 TraceCheckUtils]: 14: Hoare triple {3862#true} assume !(0 == ~cond); {3862#true} is VALID [2022-04-15 16:34:07,145 INFO L290 TraceCheckUtils]: 15: Hoare triple {3862#true} assume true; {3862#true} is VALID [2022-04-15 16:34:07,145 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3862#true} {3862#true} #63#return; {3862#true} is VALID [2022-04-15 16:34:07,145 INFO L272 TraceCheckUtils]: 17: Hoare triple {3862#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3862#true} is VALID [2022-04-15 16:34:07,145 INFO L290 TraceCheckUtils]: 18: Hoare triple {3862#true} ~cond := #in~cond; {3862#true} is VALID [2022-04-15 16:34:07,145 INFO L290 TraceCheckUtils]: 19: Hoare triple {3862#true} assume !(0 == ~cond); {3862#true} is VALID [2022-04-15 16:34:07,145 INFO L290 TraceCheckUtils]: 20: Hoare triple {3862#true} assume true; {3862#true} is VALID [2022-04-15 16:34:07,145 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3862#true} {3862#true} #65#return; {3862#true} is VALID [2022-04-15 16:34:07,145 INFO L290 TraceCheckUtils]: 22: Hoare triple {3862#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3933#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:34:07,146 INFO L290 TraceCheckUtils]: 23: Hoare triple {3933#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {3933#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:34:07,146 INFO L272 TraceCheckUtils]: 24: Hoare triple {3933#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3862#true} is VALID [2022-04-15 16:34:07,146 INFO L290 TraceCheckUtils]: 25: Hoare triple {3862#true} ~cond := #in~cond; {3862#true} is VALID [2022-04-15 16:34:07,146 INFO L290 TraceCheckUtils]: 26: Hoare triple {3862#true} assume !(0 == ~cond); {3862#true} is VALID [2022-04-15 16:34:07,146 INFO L290 TraceCheckUtils]: 27: Hoare triple {3862#true} assume true; {3862#true} is VALID [2022-04-15 16:34:07,146 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3862#true} {3933#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #67#return; {3933#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:34:07,147 INFO L290 TraceCheckUtils]: 29: Hoare triple {3933#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {3933#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:34:07,147 INFO L290 TraceCheckUtils]: 30: Hoare triple {3933#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3958#(and (= main_~z~0 0) (or (not (= (mod main_~y~0 2) 1)) (< main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:34:07,148 INFO L290 TraceCheckUtils]: 31: Hoare triple {3958#(and (= main_~z~0 0) (or (not (= (mod main_~y~0 2) 1)) (< main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3962#(and (= main_~z~0 0) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} is VALID [2022-04-15 16:34:07,149 INFO L290 TraceCheckUtils]: 32: Hoare triple {3962#(and (= main_~z~0 0) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} assume !false; {3962#(and (= main_~z~0 0) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} is VALID [2022-04-15 16:34:07,149 INFO L272 TraceCheckUtils]: 33: Hoare triple {3962#(and (= main_~z~0 0) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3862#true} is VALID [2022-04-15 16:34:07,150 INFO L290 TraceCheckUtils]: 34: Hoare triple {3862#true} ~cond := #in~cond; {3972#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:34:07,150 INFO L290 TraceCheckUtils]: 35: Hoare triple {3972#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3976#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:34:07,150 INFO L290 TraceCheckUtils]: 36: Hoare triple {3976#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3976#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:34:07,151 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3976#(not (= |__VERIFIER_assert_#in~cond| 0))} {3962#(and (= main_~z~0 0) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} #67#return; {3983#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} is VALID [2022-04-15 16:34:07,152 INFO L290 TraceCheckUtils]: 38: Hoare triple {3983#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} assume !!(0 != ~y~0); {3987#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} is VALID [2022-04-15 16:34:07,155 INFO L290 TraceCheckUtils]: 39: Hoare triple {3987#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {3991#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (= (div main_~b~0 2) (+ main_~y~0 1)) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-15 16:34:07,157 INFO L290 TraceCheckUtils]: 40: Hoare triple {3991#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (= (div main_~b~0 2) (+ main_~y~0 1)) (<= 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3995#(and (= (* main_~a~0 4) main_~x~0) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (+ (- 1) (div main_~b~0 2))))) (not (= (mod main_~b~0 2) 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-15 16:34:07,158 INFO L290 TraceCheckUtils]: 41: Hoare triple {3995#(and (= (* main_~a~0 4) main_~x~0) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (+ (- 1) (div main_~b~0 2))))) (not (= (mod main_~b~0 2) 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} assume !false; {3995#(and (= (* main_~a~0 4) main_~x~0) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (+ (- 1) (div main_~b~0 2))))) (not (= (mod main_~b~0 2) 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-15 16:34:08,391 INFO L272 TraceCheckUtils]: 42: Hoare triple {3995#(and (= (* main_~a~0 4) main_~x~0) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (+ (- 1) (div main_~b~0 2))))) (not (= (mod main_~b~0 2) 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4002#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:34:08,391 INFO L290 TraceCheckUtils]: 43: Hoare triple {4002#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4006#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:34:08,392 INFO L290 TraceCheckUtils]: 44: Hoare triple {4006#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3863#false} is VALID [2022-04-15 16:34:08,392 INFO L290 TraceCheckUtils]: 45: Hoare triple {3863#false} assume !false; {3863#false} is VALID [2022-04-15 16:34:08,392 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-15 16:34:08,392 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 16:34:47,672 INFO L290 TraceCheckUtils]: 45: Hoare triple {3863#false} assume !false; {3863#false} is VALID [2022-04-15 16:34:47,673 INFO L290 TraceCheckUtils]: 44: Hoare triple {4006#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3863#false} is VALID [2022-04-15 16:34:47,673 INFO L290 TraceCheckUtils]: 43: Hoare triple {4002#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4006#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:34:47,674 INFO L272 TraceCheckUtils]: 42: Hoare triple {4022#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4002#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:34:47,674 INFO L290 TraceCheckUtils]: 41: Hoare triple {4022#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {4022#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:34:47,678 INFO L290 TraceCheckUtils]: 40: Hoare triple {4029#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4022#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:34:47,680 INFO L290 TraceCheckUtils]: 39: Hoare triple {4033#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {4029#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-15 16:34:47,681 INFO L290 TraceCheckUtils]: 38: Hoare triple {4033#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {4033#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-15 16:34:48,053 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3976#(not (= |__VERIFIER_assert_#in~cond| 0))} {3862#true} #67#return; {4033#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-15 16:34:48,054 INFO L290 TraceCheckUtils]: 36: Hoare triple {3976#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3976#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:34:48,054 INFO L290 TraceCheckUtils]: 35: Hoare triple {4049#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3976#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:34:48,054 INFO L290 TraceCheckUtils]: 34: Hoare triple {3862#true} ~cond := #in~cond; {4049#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 16:34:48,054 INFO L272 TraceCheckUtils]: 33: Hoare triple {3862#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3862#true} is VALID [2022-04-15 16:34:48,054 INFO L290 TraceCheckUtils]: 32: Hoare triple {3862#true} assume !false; {3862#true} is VALID [2022-04-15 16:34:48,054 INFO L290 TraceCheckUtils]: 31: Hoare triple {3862#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3862#true} is VALID [2022-04-15 16:34:48,055 INFO L290 TraceCheckUtils]: 30: Hoare triple {3862#true} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3862#true} is VALID [2022-04-15 16:34:48,055 INFO L290 TraceCheckUtils]: 29: Hoare triple {3862#true} assume !!(0 != ~y~0); {3862#true} is VALID [2022-04-15 16:34:48,055 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3862#true} {3862#true} #67#return; {3862#true} is VALID [2022-04-15 16:34:48,055 INFO L290 TraceCheckUtils]: 27: Hoare triple {3862#true} assume true; {3862#true} is VALID [2022-04-15 16:34:48,055 INFO L290 TraceCheckUtils]: 26: Hoare triple {3862#true} assume !(0 == ~cond); {3862#true} is VALID [2022-04-15 16:34:48,055 INFO L290 TraceCheckUtils]: 25: Hoare triple {3862#true} ~cond := #in~cond; {3862#true} is VALID [2022-04-15 16:34:48,055 INFO L272 TraceCheckUtils]: 24: Hoare triple {3862#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3862#true} is VALID [2022-04-15 16:34:48,055 INFO L290 TraceCheckUtils]: 23: Hoare triple {3862#true} assume !false; {3862#true} is VALID [2022-04-15 16:34:48,055 INFO L290 TraceCheckUtils]: 22: Hoare triple {3862#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3862#true} is VALID [2022-04-15 16:34:48,055 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3862#true} {3862#true} #65#return; {3862#true} is VALID [2022-04-15 16:34:48,055 INFO L290 TraceCheckUtils]: 20: Hoare triple {3862#true} assume true; {3862#true} is VALID [2022-04-15 16:34:48,055 INFO L290 TraceCheckUtils]: 19: Hoare triple {3862#true} assume !(0 == ~cond); {3862#true} is VALID [2022-04-15 16:34:48,055 INFO L290 TraceCheckUtils]: 18: Hoare triple {3862#true} ~cond := #in~cond; {3862#true} is VALID [2022-04-15 16:34:48,056 INFO L272 TraceCheckUtils]: 17: Hoare triple {3862#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3862#true} is VALID [2022-04-15 16:34:48,056 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3862#true} {3862#true} #63#return; {3862#true} is VALID [2022-04-15 16:34:48,056 INFO L290 TraceCheckUtils]: 15: Hoare triple {3862#true} assume true; {3862#true} is VALID [2022-04-15 16:34:48,056 INFO L290 TraceCheckUtils]: 14: Hoare triple {3862#true} assume !(0 == ~cond); {3862#true} is VALID [2022-04-15 16:34:48,056 INFO L290 TraceCheckUtils]: 13: Hoare triple {3862#true} ~cond := #in~cond; {3862#true} is VALID [2022-04-15 16:34:48,056 INFO L272 TraceCheckUtils]: 12: Hoare triple {3862#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 20 then 1 else 0)); {3862#true} is VALID [2022-04-15 16:34:48,056 INFO L290 TraceCheckUtils]: 11: Hoare triple {3862#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3862#true} is VALID [2022-04-15 16:34:48,056 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3862#true} {3862#true} #61#return; {3862#true} is VALID [2022-04-15 16:34:48,056 INFO L290 TraceCheckUtils]: 9: Hoare triple {3862#true} assume true; {3862#true} is VALID [2022-04-15 16:34:48,056 INFO L290 TraceCheckUtils]: 8: Hoare triple {3862#true} assume !(0 == ~cond); {3862#true} is VALID [2022-04-15 16:34:48,056 INFO L290 TraceCheckUtils]: 7: Hoare triple {3862#true} ~cond := #in~cond; {3862#true} is VALID [2022-04-15 16:34:48,056 INFO L272 TraceCheckUtils]: 6: Hoare triple {3862#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 20 then 1 else 0)); {3862#true} is VALID [2022-04-15 16:34:48,056 INFO L290 TraceCheckUtils]: 5: Hoare triple {3862#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {3862#true} is VALID [2022-04-15 16:34:48,056 INFO L272 TraceCheckUtils]: 4: Hoare triple {3862#true} call #t~ret6 := main(); {3862#true} is VALID [2022-04-15 16:34:48,057 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3862#true} {3862#true} #71#return; {3862#true} is VALID [2022-04-15 16:34:48,057 INFO L290 TraceCheckUtils]: 2: Hoare triple {3862#true} assume true; {3862#true} is VALID [2022-04-15 16:34:48,057 INFO L290 TraceCheckUtils]: 1: Hoare triple {3862#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {3862#true} is VALID [2022-04-15 16:34:48,057 INFO L272 TraceCheckUtils]: 0: Hoare triple {3862#true} call ULTIMATE.init(); {3862#true} is VALID [2022-04-15 16:34:48,057 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 13 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-15 16:34:48,057 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 16:34:48,057 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2140563564] [2022-04-15 16:34:48,057 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 16:34:48,057 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [412770213] [2022-04-15 16:34:48,057 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [412770213] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 16:34:48,057 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 16:34:48,058 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9] total 17 [2022-04-15 16:34:48,058 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 16:34:48,058 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1348627945] [2022-04-15 16:34:48,058 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1348627945] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:34:48,058 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:34:48,058 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 16:34:48,058 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [96412240] [2022-04-15 16:34:48,058 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 16:34:48,058 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-15 16:34:48,059 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 16:34:48,059 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 16:34:48,377 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:34:48,377 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 16:34:48,378 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 16:34:48,378 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 16:34:48,378 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=218, Unknown=0, NotChecked=0, Total=272 [2022-04-15 16:34:48,378 INFO L87 Difference]: Start difference. First operand 53 states and 59 transitions. Second operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 16:34:59,396 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:34:59,396 INFO L93 Difference]: Finished difference Result 68 states and 76 transitions. [2022-04-15 16:34:59,396 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 16:34:59,396 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-15 16:34:59,396 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 16:34:59,397 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 16:34:59,397 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-15 16:34:59,398 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 16:34:59,398 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-15 16:34:59,398 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 56 transitions. [2022-04-15 16:34:59,860 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:34:59,861 INFO L225 Difference]: With dead ends: 68 [2022-04-15 16:34:59,861 INFO L226 Difference]: Without dead ends: 66 [2022-04-15 16:34:59,861 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 74 SyntacticMatches, 2 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 62 ImplicationChecksByTransitivity, 4.4s TimeCoverageRelationStatistics Valid=67, Invalid=275, Unknown=0, NotChecked=0, Total=342 [2022-04-15 16:34:59,861 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 20 mSDsluCounter, 146 mSDsCounter, 0 mSdLazyCounter, 226 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 172 SdHoareTripleChecker+Invalid, 229 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 226 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.0s IncrementalHoareTripleChecker+Time [2022-04-15 16:34:59,862 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 172 Invalid, 229 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 226 Invalid, 0 Unknown, 0 Unchecked, 4.0s Time] [2022-04-15 16:34:59,862 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-04-15 16:34:59,925 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 55. [2022-04-15 16:34:59,925 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 16:34:59,926 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 39 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 16:34:59,926 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 39 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 16:34:59,926 INFO L87 Difference]: Start difference. First operand 66 states. Second operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 39 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 16:34:59,927 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:34:59,927 INFO L93 Difference]: Finished difference Result 66 states and 74 transitions. [2022-04-15 16:34:59,927 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 74 transitions. [2022-04-15 16:34:59,928 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:34:59,928 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:34:59,928 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 39 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 66 states. [2022-04-15 16:34:59,928 INFO L87 Difference]: Start difference. First operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 39 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 66 states. [2022-04-15 16:34:59,929 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:34:59,929 INFO L93 Difference]: Finished difference Result 66 states and 74 transitions. [2022-04-15 16:34:59,929 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 74 transitions. [2022-04-15 16:34:59,930 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:34:59,930 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:34:59,930 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 16:34:59,930 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 16:34:59,930 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 39 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 16:34:59,931 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 62 transitions. [2022-04-15 16:34:59,931 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 62 transitions. Word has length 46 [2022-04-15 16:34:59,931 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 16:34:59,931 INFO L478 AbstractCegarLoop]: Abstraction has 55 states and 62 transitions. [2022-04-15 16:34:59,931 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 16:34:59,931 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 62 transitions. [2022-04-15 16:35:12,338 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 57 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-15 16:35:12,339 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 62 transitions. [2022-04-15 16:35:12,339 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-15 16:35:12,339 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:35:12,339 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 16:35:12,355 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-15 16:35:12,539 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-15 16:35:12,540 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:35:12,540 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:35:12,540 INFO L85 PathProgramCache]: Analyzing trace with hash 1779207736, now seen corresponding path program 3 times [2022-04-15 16:35:12,540 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:35:12,540 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1082302411] [2022-04-15 16:35:12,541 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:35:12,541 INFO L85 PathProgramCache]: Analyzing trace with hash 1779207736, now seen corresponding path program 4 times [2022-04-15 16:35:12,541 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:35:12,541 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [549399142] [2022-04-15 16:35:12,541 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:35:12,541 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:35:12,551 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 16:35:12,551 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1343371468] [2022-04-15 16:35:12,551 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 16:35:12,551 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:35:12,551 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:35:12,552 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 16:35:12,553 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-15 16:35:12,584 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 16:35:12,584 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 16:35:12,585 INFO L263 TraceCheckSpWp]: Trace formula consists of 83 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-15 16:35:12,599 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:35:12,600 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 16:35:24,191 INFO L272 TraceCheckUtils]: 0: Hoare triple {4536#true} call ULTIMATE.init(); {4536#true} is VALID [2022-04-15 16:35:24,191 INFO L290 TraceCheckUtils]: 1: Hoare triple {4536#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {4536#true} is VALID [2022-04-15 16:35:24,191 INFO L290 TraceCheckUtils]: 2: Hoare triple {4536#true} assume true; {4536#true} is VALID [2022-04-15 16:35:24,191 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4536#true} {4536#true} #71#return; {4536#true} is VALID [2022-04-15 16:35:24,191 INFO L272 TraceCheckUtils]: 4: Hoare triple {4536#true} call #t~ret6 := main(); {4536#true} is VALID [2022-04-15 16:35:24,192 INFO L290 TraceCheckUtils]: 5: Hoare triple {4536#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {4536#true} is VALID [2022-04-15 16:35:24,192 INFO L272 TraceCheckUtils]: 6: Hoare triple {4536#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 20 then 1 else 0)); {4536#true} is VALID [2022-04-15 16:35:24,192 INFO L290 TraceCheckUtils]: 7: Hoare triple {4536#true} ~cond := #in~cond; {4536#true} is VALID [2022-04-15 16:35:24,192 INFO L290 TraceCheckUtils]: 8: Hoare triple {4536#true} assume !(0 == ~cond); {4536#true} is VALID [2022-04-15 16:35:24,192 INFO L290 TraceCheckUtils]: 9: Hoare triple {4536#true} assume true; {4536#true} is VALID [2022-04-15 16:35:24,192 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4536#true} {4536#true} #61#return; {4536#true} is VALID [2022-04-15 16:35:24,192 INFO L290 TraceCheckUtils]: 11: Hoare triple {4536#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4536#true} is VALID [2022-04-15 16:35:24,192 INFO L272 TraceCheckUtils]: 12: Hoare triple {4536#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 20 then 1 else 0)); {4536#true} is VALID [2022-04-15 16:35:24,192 INFO L290 TraceCheckUtils]: 13: Hoare triple {4536#true} ~cond := #in~cond; {4536#true} is VALID [2022-04-15 16:35:24,192 INFO L290 TraceCheckUtils]: 14: Hoare triple {4536#true} assume !(0 == ~cond); {4536#true} is VALID [2022-04-15 16:35:24,192 INFO L290 TraceCheckUtils]: 15: Hoare triple {4536#true} assume true; {4536#true} is VALID [2022-04-15 16:35:24,192 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4536#true} {4536#true} #63#return; {4536#true} is VALID [2022-04-15 16:35:24,192 INFO L272 TraceCheckUtils]: 17: Hoare triple {4536#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4536#true} is VALID [2022-04-15 16:35:24,193 INFO L290 TraceCheckUtils]: 18: Hoare triple {4536#true} ~cond := #in~cond; {4595#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 16:35:24,193 INFO L290 TraceCheckUtils]: 19: Hoare triple {4595#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4599#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:35:24,193 INFO L290 TraceCheckUtils]: 20: Hoare triple {4599#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4599#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:35:24,194 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4599#(not (= |assume_abort_if_not_#in~cond| 0))} {4536#true} #65#return; {4606#(<= 1 main_~b~0)} is VALID [2022-04-15 16:35:24,194 INFO L290 TraceCheckUtils]: 22: Hoare triple {4606#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4610#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:35:24,194 INFO L290 TraceCheckUtils]: 23: Hoare triple {4610#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {4610#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:35:24,194 INFO L272 TraceCheckUtils]: 24: Hoare triple {4610#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4536#true} is VALID [2022-04-15 16:35:24,195 INFO L290 TraceCheckUtils]: 25: Hoare triple {4536#true} ~cond := #in~cond; {4620#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:35:24,195 INFO L290 TraceCheckUtils]: 26: Hoare triple {4620#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4624#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:35:24,195 INFO L290 TraceCheckUtils]: 27: Hoare triple {4624#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4624#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:35:24,196 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4624#(not (= |__VERIFIER_assert_#in~cond| 0))} {4610#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {4631#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:35:24,196 INFO L290 TraceCheckUtils]: 29: Hoare triple {4631#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {4631#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:35:24,197 INFO L290 TraceCheckUtils]: 30: Hoare triple {4631#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4638#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:35:24,198 INFO L290 TraceCheckUtils]: 31: Hoare triple {4638#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4642#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-15 16:35:24,198 INFO L290 TraceCheckUtils]: 32: Hoare triple {4642#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} assume !false; {4642#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-15 16:35:24,198 INFO L272 TraceCheckUtils]: 33: Hoare triple {4642#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4536#true} is VALID [2022-04-15 16:35:24,198 INFO L290 TraceCheckUtils]: 34: Hoare triple {4536#true} ~cond := #in~cond; {4536#true} is VALID [2022-04-15 16:35:24,199 INFO L290 TraceCheckUtils]: 35: Hoare triple {4536#true} assume !(0 == ~cond); {4536#true} is VALID [2022-04-15 16:35:24,199 INFO L290 TraceCheckUtils]: 36: Hoare triple {4536#true} assume true; {4536#true} is VALID [2022-04-15 16:35:24,199 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4536#true} {4642#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} #67#return; {4642#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-15 16:35:24,200 INFO L290 TraceCheckUtils]: 38: Hoare triple {4642#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} assume !!(0 != ~y~0); {4642#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-15 16:35:24,201 INFO L290 TraceCheckUtils]: 39: Hoare triple {4642#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4667#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-15 16:35:24,202 INFO L290 TraceCheckUtils]: 40: Hoare triple {4667#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4671#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-15 16:35:24,202 INFO L290 TraceCheckUtils]: 41: Hoare triple {4671#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !false; {4671#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-15 16:35:24,206 INFO L272 TraceCheckUtils]: 42: Hoare triple {4671#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4678#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:35:24,207 INFO L290 TraceCheckUtils]: 43: Hoare triple {4678#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4682#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:35:24,207 INFO L290 TraceCheckUtils]: 44: Hoare triple {4682#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4537#false} is VALID [2022-04-15 16:35:24,207 INFO L290 TraceCheckUtils]: 45: Hoare triple {4537#false} assume !false; {4537#false} is VALID [2022-04-15 16:35:24,207 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 9 proven. 13 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-15 16:35:24,207 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 16:35:59,791 INFO L290 TraceCheckUtils]: 45: Hoare triple {4537#false} assume !false; {4537#false} is VALID [2022-04-15 16:35:59,791 INFO L290 TraceCheckUtils]: 44: Hoare triple {4682#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4537#false} is VALID [2022-04-15 16:35:59,792 INFO L290 TraceCheckUtils]: 43: Hoare triple {4678#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4682#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:35:59,792 INFO L272 TraceCheckUtils]: 42: Hoare triple {4698#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4678#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:35:59,793 INFO L290 TraceCheckUtils]: 41: Hoare triple {4698#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {4698#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:35:59,797 INFO L290 TraceCheckUtils]: 40: Hoare triple {4705#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4698#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:35:59,798 INFO L290 TraceCheckUtils]: 39: Hoare triple {4709#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4705#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-15 16:35:59,798 INFO L290 TraceCheckUtils]: 38: Hoare triple {4709#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {4709#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-15 16:35:59,799 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4536#true} {4709#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} #67#return; {4709#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-15 16:35:59,799 INFO L290 TraceCheckUtils]: 36: Hoare triple {4536#true} assume true; {4536#true} is VALID [2022-04-15 16:35:59,799 INFO L290 TraceCheckUtils]: 35: Hoare triple {4536#true} assume !(0 == ~cond); {4536#true} is VALID [2022-04-15 16:35:59,799 INFO L290 TraceCheckUtils]: 34: Hoare triple {4536#true} ~cond := #in~cond; {4536#true} is VALID [2022-04-15 16:35:59,799 INFO L272 TraceCheckUtils]: 33: Hoare triple {4709#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4536#true} is VALID [2022-04-15 16:35:59,800 INFO L290 TraceCheckUtils]: 32: Hoare triple {4709#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !false; {4709#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-15 16:35:59,812 INFO L290 TraceCheckUtils]: 31: Hoare triple {4734#(and (or (not (< main_~y~0 0)) (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2)))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4709#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-15 16:35:59,813 INFO L290 TraceCheckUtils]: 30: Hoare triple {4738#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4734#(and (or (not (< main_~y~0 0)) (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2)))))} is VALID [2022-04-15 16:35:59,814 INFO L290 TraceCheckUtils]: 29: Hoare triple {4738#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} assume !!(0 != ~y~0); {4738#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} is VALID [2022-04-15 16:35:59,820 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4624#(not (= |__VERIFIER_assert_#in~cond| 0))} {4745#(or (<= 0 main_~y~0) (and (or (= (mod main_~y~0 2) 0) (= (* main_~y~0 main_~x~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) (* main_~x~0 4)))) (or (= (* main_~y~0 main_~x~0) (+ (* main_~x~0 4) (* (* main_~x~0 (div (div main_~y~0 2) 2)) 4))) (= (mod (div main_~y~0 2) 2) 0))))} #67#return; {4738#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} is VALID [2022-04-15 16:35:59,820 INFO L290 TraceCheckUtils]: 27: Hoare triple {4624#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4624#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:35:59,821 INFO L290 TraceCheckUtils]: 26: Hoare triple {4755#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4624#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:35:59,821 INFO L290 TraceCheckUtils]: 25: Hoare triple {4536#true} ~cond := #in~cond; {4755#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 16:35:59,821 INFO L272 TraceCheckUtils]: 24: Hoare triple {4745#(or (<= 0 main_~y~0) (and (or (= (mod main_~y~0 2) 0) (= (* main_~y~0 main_~x~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) (* main_~x~0 4)))) (or (= (* main_~y~0 main_~x~0) (+ (* main_~x~0 4) (* (* main_~x~0 (div (div main_~y~0 2) 2)) 4))) (= (mod (div main_~y~0 2) 2) 0))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4536#true} is VALID [2022-04-15 16:35:59,822 INFO L290 TraceCheckUtils]: 23: Hoare triple {4745#(or (<= 0 main_~y~0) (and (or (= (mod main_~y~0 2) 0) (= (* main_~y~0 main_~x~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) (* main_~x~0 4)))) (or (= (* main_~y~0 main_~x~0) (+ (* main_~x~0 4) (* (* main_~x~0 (div (div main_~y~0 2) 2)) 4))) (= (mod (div main_~y~0 2) 2) 0))))} assume !false; {4745#(or (<= 0 main_~y~0) (and (or (= (mod main_~y~0 2) 0) (= (* main_~y~0 main_~x~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) (* main_~x~0 4)))) (or (= (* main_~y~0 main_~x~0) (+ (* main_~x~0 4) (* (* main_~x~0 (div (div main_~y~0 2) 2)) 4))) (= (mod (div main_~y~0 2) 2) 0))))} is VALID [2022-04-15 16:35:59,823 INFO L290 TraceCheckUtils]: 22: Hoare triple {4765#(or (and (= (mod main_~b~0 2) 0) (= (mod (div main_~b~0 2) 2) 0)) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4745#(or (<= 0 main_~y~0) (and (or (= (mod main_~y~0 2) 0) (= (* main_~y~0 main_~x~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) (* main_~x~0 4)))) (or (= (* main_~y~0 main_~x~0) (+ (* main_~x~0 4) (* (* main_~x~0 (div (div main_~y~0 2) 2)) 4))) (= (mod (div main_~y~0 2) 2) 0))))} is VALID [2022-04-15 16:35:59,823 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4599#(not (= |assume_abort_if_not_#in~cond| 0))} {4536#true} #65#return; {4765#(or (and (= (mod main_~b~0 2) 0) (= (mod (div main_~b~0 2) 2) 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 16:35:59,823 INFO L290 TraceCheckUtils]: 20: Hoare triple {4599#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4599#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:35:59,824 INFO L290 TraceCheckUtils]: 19: Hoare triple {4778#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {4599#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:35:59,824 INFO L290 TraceCheckUtils]: 18: Hoare triple {4536#true} ~cond := #in~cond; {4778#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 16:35:59,824 INFO L272 TraceCheckUtils]: 17: Hoare triple {4536#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4536#true} is VALID [2022-04-15 16:35:59,824 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4536#true} {4536#true} #63#return; {4536#true} is VALID [2022-04-15 16:35:59,824 INFO L290 TraceCheckUtils]: 15: Hoare triple {4536#true} assume true; {4536#true} is VALID [2022-04-15 16:35:59,824 INFO L290 TraceCheckUtils]: 14: Hoare triple {4536#true} assume !(0 == ~cond); {4536#true} is VALID [2022-04-15 16:35:59,824 INFO L290 TraceCheckUtils]: 13: Hoare triple {4536#true} ~cond := #in~cond; {4536#true} is VALID [2022-04-15 16:35:59,824 INFO L272 TraceCheckUtils]: 12: Hoare triple {4536#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 20 then 1 else 0)); {4536#true} is VALID [2022-04-15 16:35:59,825 INFO L290 TraceCheckUtils]: 11: Hoare triple {4536#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4536#true} is VALID [2022-04-15 16:35:59,825 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4536#true} {4536#true} #61#return; {4536#true} is VALID [2022-04-15 16:35:59,825 INFO L290 TraceCheckUtils]: 9: Hoare triple {4536#true} assume true; {4536#true} is VALID [2022-04-15 16:35:59,825 INFO L290 TraceCheckUtils]: 8: Hoare triple {4536#true} assume !(0 == ~cond); {4536#true} is VALID [2022-04-15 16:35:59,825 INFO L290 TraceCheckUtils]: 7: Hoare triple {4536#true} ~cond := #in~cond; {4536#true} is VALID [2022-04-15 16:35:59,825 INFO L272 TraceCheckUtils]: 6: Hoare triple {4536#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 20 then 1 else 0)); {4536#true} is VALID [2022-04-15 16:35:59,825 INFO L290 TraceCheckUtils]: 5: Hoare triple {4536#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {4536#true} is VALID [2022-04-15 16:35:59,825 INFO L272 TraceCheckUtils]: 4: Hoare triple {4536#true} call #t~ret6 := main(); {4536#true} is VALID [2022-04-15 16:35:59,825 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4536#true} {4536#true} #71#return; {4536#true} is VALID [2022-04-15 16:35:59,825 INFO L290 TraceCheckUtils]: 2: Hoare triple {4536#true} assume true; {4536#true} is VALID [2022-04-15 16:35:59,825 INFO L290 TraceCheckUtils]: 1: Hoare triple {4536#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {4536#true} is VALID [2022-04-15 16:35:59,825 INFO L272 TraceCheckUtils]: 0: Hoare triple {4536#true} call ULTIMATE.init(); {4536#true} is VALID [2022-04-15 16:35:59,826 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 9 proven. 13 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-15 16:35:59,826 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 16:35:59,826 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [549399142] [2022-04-15 16:35:59,826 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 16:35:59,826 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1343371468] [2022-04-15 16:35:59,826 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1343371468] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 16:35:59,826 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 16:35:59,826 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 24 [2022-04-15 16:35:59,826 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 16:35:59,826 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1082302411] [2022-04-15 16:35:59,827 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1082302411] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:35:59,827 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:35:59,827 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-15 16:35:59,827 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [292037395] [2022-04-15 16:35:59,827 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 16:35:59,827 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-15 16:35:59,827 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 16:35:59,829 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 16:35:59,859 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:35:59,860 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-15 16:35:59,860 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 16:35:59,860 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-15 16:35:59,860 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=95, Invalid=457, Unknown=0, NotChecked=0, Total=552 [2022-04-15 16:35:59,860 INFO L87 Difference]: Start difference. First operand 55 states and 62 transitions. Second operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 16:36:00,713 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:36:00,713 INFO L93 Difference]: Finished difference Result 71 states and 78 transitions. [2022-04-15 16:36:00,714 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 16:36:00,714 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-15 16:36:00,714 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 16:36:00,714 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 16:36:00,715 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 55 transitions. [2022-04-15 16:36:00,715 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 16:36:00,717 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 55 transitions. [2022-04-15 16:36:00,717 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 55 transitions. [2022-04-15 16:36:00,767 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:36:00,768 INFO L225 Difference]: With dead ends: 71 [2022-04-15 16:36:00,768 INFO L226 Difference]: Without dead ends: 69 [2022-04-15 16:36:00,768 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 68 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 153 ImplicationChecksByTransitivity, 2.4s TimeCoverageRelationStatistics Valid=113, Invalid=589, Unknown=0, NotChecked=0, Total=702 [2022-04-15 16:36:00,768 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 28 mSDsluCounter, 124 mSDsCounter, 0 mSdLazyCounter, 267 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 145 SdHoareTripleChecker+Invalid, 276 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 267 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-15 16:36:00,769 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [30 Valid, 145 Invalid, 276 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 267 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 16:36:00,769 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2022-04-15 16:36:00,825 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 50. [2022-04-15 16:36:00,825 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 16:36:00,826 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:36:00,826 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:36:00,826 INFO L87 Difference]: Start difference. First operand 69 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:36:00,827 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:36:00,827 INFO L93 Difference]: Finished difference Result 69 states and 76 transitions. [2022-04-15 16:36:00,827 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 76 transitions. [2022-04-15 16:36:00,827 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:36:00,827 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:36:00,827 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 69 states. [2022-04-15 16:36:00,828 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 69 states. [2022-04-15 16:36:00,829 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:36:00,829 INFO L93 Difference]: Finished difference Result 69 states and 76 transitions. [2022-04-15 16:36:00,829 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 76 transitions. [2022-04-15 16:36:00,829 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:36:00,829 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:36:00,829 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 16:36:00,829 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 16:36:00,829 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:36:00,830 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-15 16:36:00,830 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 46 [2022-04-15 16:36:00,830 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 16:36:00,830 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-15 16:36:00,830 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 16:36:00,830 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-15 16:36:10,303 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 51 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-15 16:36:10,303 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-15 16:36:10,303 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-15 16:36:10,303 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:36:10,304 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 16:36:10,319 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-04-15 16:36:10,504 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-15 16:36:10,504 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:36:10,504 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:36:10,504 INFO L85 PathProgramCache]: Analyzing trace with hash 1060406066, now seen corresponding path program 5 times [2022-04-15 16:36:10,505 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:36:10,505 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1211511630] [2022-04-15 16:36:10,505 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:36:10,505 INFO L85 PathProgramCache]: Analyzing trace with hash 1060406066, now seen corresponding path program 6 times [2022-04-15 16:36:10,505 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:36:10,505 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1136073368] [2022-04-15 16:36:10,505 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:36:10,505 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:36:10,515 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 16:36:10,515 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [687067000] [2022-04-15 16:36:10,515 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 16:36:10,515 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:36:10,515 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:36:10,516 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 16:36:10,519 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-15 16:36:10,556 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-15 16:36:10,556 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 16:36:10,557 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-15 16:36:10,568 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:36:10,569 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 16:36:35,602 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 16:36:42,375 INFO L272 TraceCheckUtils]: 0: Hoare triple {5221#true} call ULTIMATE.init(); {5221#true} is VALID [2022-04-15 16:36:42,376 INFO L290 TraceCheckUtils]: 1: Hoare triple {5221#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {5221#true} is VALID [2022-04-15 16:36:42,376 INFO L290 TraceCheckUtils]: 2: Hoare triple {5221#true} assume true; {5221#true} is VALID [2022-04-15 16:36:42,376 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5221#true} {5221#true} #71#return; {5221#true} is VALID [2022-04-15 16:36:42,376 INFO L272 TraceCheckUtils]: 4: Hoare triple {5221#true} call #t~ret6 := main(); {5221#true} is VALID [2022-04-15 16:36:42,376 INFO L290 TraceCheckUtils]: 5: Hoare triple {5221#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {5221#true} is VALID [2022-04-15 16:36:42,376 INFO L272 TraceCheckUtils]: 6: Hoare triple {5221#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 20 then 1 else 0)); {5221#true} is VALID [2022-04-15 16:36:42,376 INFO L290 TraceCheckUtils]: 7: Hoare triple {5221#true} ~cond := #in~cond; {5221#true} is VALID [2022-04-15 16:36:42,376 INFO L290 TraceCheckUtils]: 8: Hoare triple {5221#true} assume !(0 == ~cond); {5221#true} is VALID [2022-04-15 16:36:42,376 INFO L290 TraceCheckUtils]: 9: Hoare triple {5221#true} assume true; {5221#true} is VALID [2022-04-15 16:36:42,376 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5221#true} {5221#true} #61#return; {5221#true} is VALID [2022-04-15 16:36:42,376 INFO L290 TraceCheckUtils]: 11: Hoare triple {5221#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5221#true} is VALID [2022-04-15 16:36:42,377 INFO L272 TraceCheckUtils]: 12: Hoare triple {5221#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 20 then 1 else 0)); {5221#true} is VALID [2022-04-15 16:36:42,377 INFO L290 TraceCheckUtils]: 13: Hoare triple {5221#true} ~cond := #in~cond; {5221#true} is VALID [2022-04-15 16:36:42,377 INFO L290 TraceCheckUtils]: 14: Hoare triple {5221#true} assume !(0 == ~cond); {5221#true} is VALID [2022-04-15 16:36:42,377 INFO L290 TraceCheckUtils]: 15: Hoare triple {5221#true} assume true; {5221#true} is VALID [2022-04-15 16:36:42,377 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5221#true} {5221#true} #63#return; {5221#true} is VALID [2022-04-15 16:36:42,377 INFO L272 TraceCheckUtils]: 17: Hoare triple {5221#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5221#true} is VALID [2022-04-15 16:36:42,377 INFO L290 TraceCheckUtils]: 18: Hoare triple {5221#true} ~cond := #in~cond; {5221#true} is VALID [2022-04-15 16:36:42,377 INFO L290 TraceCheckUtils]: 19: Hoare triple {5221#true} assume !(0 == ~cond); {5221#true} is VALID [2022-04-15 16:36:42,377 INFO L290 TraceCheckUtils]: 20: Hoare triple {5221#true} assume true; {5221#true} is VALID [2022-04-15 16:36:42,377 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5221#true} {5221#true} #65#return; {5221#true} is VALID [2022-04-15 16:36:42,377 INFO L290 TraceCheckUtils]: 22: Hoare triple {5221#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5221#true} is VALID [2022-04-15 16:36:42,377 INFO L290 TraceCheckUtils]: 23: Hoare triple {5221#true} assume !false; {5221#true} is VALID [2022-04-15 16:36:42,377 INFO L272 TraceCheckUtils]: 24: Hoare triple {5221#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5221#true} is VALID [2022-04-15 16:36:42,377 INFO L290 TraceCheckUtils]: 25: Hoare triple {5221#true} ~cond := #in~cond; {5221#true} is VALID [2022-04-15 16:36:42,378 INFO L290 TraceCheckUtils]: 26: Hoare triple {5221#true} assume !(0 == ~cond); {5221#true} is VALID [2022-04-15 16:36:42,378 INFO L290 TraceCheckUtils]: 27: Hoare triple {5221#true} assume true; {5221#true} is VALID [2022-04-15 16:36:42,378 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5221#true} {5221#true} #67#return; {5221#true} is VALID [2022-04-15 16:36:42,378 INFO L290 TraceCheckUtils]: 29: Hoare triple {5221#true} assume !!(0 != ~y~0); {5221#true} is VALID [2022-04-15 16:36:42,378 INFO L290 TraceCheckUtils]: 30: Hoare triple {5221#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {5221#true} is VALID [2022-04-15 16:36:42,378 INFO L290 TraceCheckUtils]: 31: Hoare triple {5221#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5221#true} is VALID [2022-04-15 16:36:42,378 INFO L290 TraceCheckUtils]: 32: Hoare triple {5221#true} assume !false; {5221#true} is VALID [2022-04-15 16:36:42,378 INFO L272 TraceCheckUtils]: 33: Hoare triple {5221#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5221#true} is VALID [2022-04-15 16:36:42,378 INFO L290 TraceCheckUtils]: 34: Hoare triple {5221#true} ~cond := #in~cond; {5221#true} is VALID [2022-04-15 16:36:42,378 INFO L290 TraceCheckUtils]: 35: Hoare triple {5221#true} assume !(0 == ~cond); {5221#true} is VALID [2022-04-15 16:36:42,378 INFO L290 TraceCheckUtils]: 36: Hoare triple {5221#true} assume true; {5221#true} is VALID [2022-04-15 16:36:42,378 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5221#true} {5221#true} #67#return; {5221#true} is VALID [2022-04-15 16:36:42,378 INFO L290 TraceCheckUtils]: 38: Hoare triple {5221#true} assume !!(0 != ~y~0); {5221#true} is VALID [2022-04-15 16:36:42,378 INFO L290 TraceCheckUtils]: 39: Hoare triple {5221#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {5221#true} is VALID [2022-04-15 16:36:42,379 INFO L290 TraceCheckUtils]: 40: Hoare triple {5221#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5221#true} is VALID [2022-04-15 16:36:42,379 INFO L290 TraceCheckUtils]: 41: Hoare triple {5221#true} assume !false; {5221#true} is VALID [2022-04-15 16:36:42,379 INFO L272 TraceCheckUtils]: 42: Hoare triple {5221#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5221#true} is VALID [2022-04-15 16:36:42,379 INFO L290 TraceCheckUtils]: 43: Hoare triple {5221#true} ~cond := #in~cond; {5355#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:36:42,379 INFO L290 TraceCheckUtils]: 44: Hoare triple {5355#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5359#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:36:42,379 INFO L290 TraceCheckUtils]: 45: Hoare triple {5359#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5359#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:36:42,380 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5359#(not (= |__VERIFIER_assert_#in~cond| 0))} {5221#true} #67#return; {5366#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:36:42,380 INFO L290 TraceCheckUtils]: 47: Hoare triple {5366#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !!(0 != ~y~0); {5370#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-15 16:36:42,383 INFO L290 TraceCheckUtils]: 48: Hoare triple {5370#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {5374#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-15 16:36:44,384 WARN L290 TraceCheckUtils]: 49: Hoare triple {5374#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5378#(and (exists ((aux_div_v_main_~y~0_56_28 Int) (aux_mod_v_main_~y~0_56_28 Int)) (and (= (+ (* (div (* (- 1) main_~x~0) (- 2)) aux_mod_v_main_~y~0_56_28) main_~z~0 (* (* (div (* (- 1) main_~x~0) (- 2)) aux_div_v_main_~y~0_56_28) 2)) (+ (div (* (- 1) main_~x~0) (- 2)) (* main_~b~0 main_~a~0))) (<= 0 (+ (* aux_div_v_main_~y~0_56_28 2) aux_mod_v_main_~y~0_56_28)) (<= 1 aux_mod_v_main_~y~0_56_28) (< aux_mod_v_main_~y~0_56_28 2) (= (div (+ (- 1) (* aux_div_v_main_~y~0_56_28 2) aux_mod_v_main_~y~0_56_28) 2) main_~y~0))) (= (mod main_~x~0 2) 0))} is UNKNOWN [2022-04-15 16:36:46,387 WARN L290 TraceCheckUtils]: 50: Hoare triple {5378#(and (exists ((aux_div_v_main_~y~0_56_28 Int) (aux_mod_v_main_~y~0_56_28 Int)) (and (= (+ (* (div (* (- 1) main_~x~0) (- 2)) aux_mod_v_main_~y~0_56_28) main_~z~0 (* (* (div (* (- 1) main_~x~0) (- 2)) aux_div_v_main_~y~0_56_28) 2)) (+ (div (* (- 1) main_~x~0) (- 2)) (* main_~b~0 main_~a~0))) (<= 0 (+ (* aux_div_v_main_~y~0_56_28 2) aux_mod_v_main_~y~0_56_28)) (<= 1 aux_mod_v_main_~y~0_56_28) (< aux_mod_v_main_~y~0_56_28 2) (= (div (+ (- 1) (* aux_div_v_main_~y~0_56_28 2) aux_mod_v_main_~y~0_56_28) 2) main_~y~0))) (= (mod main_~x~0 2) 0))} assume !false; {5382#(and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)) (= (mod main_~x~0 2) 0))} is UNKNOWN [2022-04-15 16:36:46,439 INFO L272 TraceCheckUtils]: 51: Hoare triple {5382#(and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5386#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:36:46,440 INFO L290 TraceCheckUtils]: 52: Hoare triple {5386#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5390#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:36:46,440 INFO L290 TraceCheckUtils]: 53: Hoare triple {5390#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5222#false} is VALID [2022-04-15 16:36:46,440 INFO L290 TraceCheckUtils]: 54: Hoare triple {5222#false} assume !false; {5222#false} is VALID [2022-04-15 16:36:46,440 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 23 proven. 1 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-04-15 16:36:46,440 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 16:38:03,253 INFO L290 TraceCheckUtils]: 54: Hoare triple {5222#false} assume !false; {5222#false} is VALID [2022-04-15 16:38:03,254 INFO L290 TraceCheckUtils]: 53: Hoare triple {5390#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5222#false} is VALID [2022-04-15 16:38:03,254 INFO L290 TraceCheckUtils]: 52: Hoare triple {5386#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5390#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:38:03,255 INFO L272 TraceCheckUtils]: 51: Hoare triple {5366#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5386#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:38:03,255 INFO L290 TraceCheckUtils]: 50: Hoare triple {5366#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {5366#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:38:03,260 INFO L290 TraceCheckUtils]: 49: Hoare triple {5412#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5366#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:38:03,262 INFO L290 TraceCheckUtils]: 48: Hoare triple {5416#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {5412#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-15 16:38:03,263 INFO L290 TraceCheckUtils]: 47: Hoare triple {5416#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {5416#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-15 16:38:03,733 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5359#(not (= |__VERIFIER_assert_#in~cond| 0))} {5221#true} #67#return; {5416#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-15 16:38:03,734 INFO L290 TraceCheckUtils]: 45: Hoare triple {5359#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5359#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:38:03,734 INFO L290 TraceCheckUtils]: 44: Hoare triple {5432#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5359#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:38:03,734 INFO L290 TraceCheckUtils]: 43: Hoare triple {5221#true} ~cond := #in~cond; {5432#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 16:38:03,734 INFO L272 TraceCheckUtils]: 42: Hoare triple {5221#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5221#true} is VALID [2022-04-15 16:38:03,734 INFO L290 TraceCheckUtils]: 41: Hoare triple {5221#true} assume !false; {5221#true} is VALID [2022-04-15 16:38:03,734 INFO L290 TraceCheckUtils]: 40: Hoare triple {5221#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5221#true} is VALID [2022-04-15 16:38:03,735 INFO L290 TraceCheckUtils]: 39: Hoare triple {5221#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {5221#true} is VALID [2022-04-15 16:38:03,735 INFO L290 TraceCheckUtils]: 38: Hoare triple {5221#true} assume !!(0 != ~y~0); {5221#true} is VALID [2022-04-15 16:38:03,735 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5221#true} {5221#true} #67#return; {5221#true} is VALID [2022-04-15 16:38:03,735 INFO L290 TraceCheckUtils]: 36: Hoare triple {5221#true} assume true; {5221#true} is VALID [2022-04-15 16:38:03,735 INFO L290 TraceCheckUtils]: 35: Hoare triple {5221#true} assume !(0 == ~cond); {5221#true} is VALID [2022-04-15 16:38:03,735 INFO L290 TraceCheckUtils]: 34: Hoare triple {5221#true} ~cond := #in~cond; {5221#true} is VALID [2022-04-15 16:38:03,735 INFO L272 TraceCheckUtils]: 33: Hoare triple {5221#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5221#true} is VALID [2022-04-15 16:38:03,735 INFO L290 TraceCheckUtils]: 32: Hoare triple {5221#true} assume !false; {5221#true} is VALID [2022-04-15 16:38:03,735 INFO L290 TraceCheckUtils]: 31: Hoare triple {5221#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5221#true} is VALID [2022-04-15 16:38:03,735 INFO L290 TraceCheckUtils]: 30: Hoare triple {5221#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {5221#true} is VALID [2022-04-15 16:38:03,735 INFO L290 TraceCheckUtils]: 29: Hoare triple {5221#true} assume !!(0 != ~y~0); {5221#true} is VALID [2022-04-15 16:38:03,735 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5221#true} {5221#true} #67#return; {5221#true} is VALID [2022-04-15 16:38:03,735 INFO L290 TraceCheckUtils]: 27: Hoare triple {5221#true} assume true; {5221#true} is VALID [2022-04-15 16:38:03,735 INFO L290 TraceCheckUtils]: 26: Hoare triple {5221#true} assume !(0 == ~cond); {5221#true} is VALID [2022-04-15 16:38:03,736 INFO L290 TraceCheckUtils]: 25: Hoare triple {5221#true} ~cond := #in~cond; {5221#true} is VALID [2022-04-15 16:38:03,736 INFO L272 TraceCheckUtils]: 24: Hoare triple {5221#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5221#true} is VALID [2022-04-15 16:38:03,736 INFO L290 TraceCheckUtils]: 23: Hoare triple {5221#true} assume !false; {5221#true} is VALID [2022-04-15 16:38:03,736 INFO L290 TraceCheckUtils]: 22: Hoare triple {5221#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5221#true} is VALID [2022-04-15 16:38:03,736 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5221#true} {5221#true} #65#return; {5221#true} is VALID [2022-04-15 16:38:03,736 INFO L290 TraceCheckUtils]: 20: Hoare triple {5221#true} assume true; {5221#true} is VALID [2022-04-15 16:38:03,736 INFO L290 TraceCheckUtils]: 19: Hoare triple {5221#true} assume !(0 == ~cond); {5221#true} is VALID [2022-04-15 16:38:03,736 INFO L290 TraceCheckUtils]: 18: Hoare triple {5221#true} ~cond := #in~cond; {5221#true} is VALID [2022-04-15 16:38:03,736 INFO L272 TraceCheckUtils]: 17: Hoare triple {5221#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5221#true} is VALID [2022-04-15 16:38:03,736 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5221#true} {5221#true} #63#return; {5221#true} is VALID [2022-04-15 16:38:03,736 INFO L290 TraceCheckUtils]: 15: Hoare triple {5221#true} assume true; {5221#true} is VALID [2022-04-15 16:38:03,736 INFO L290 TraceCheckUtils]: 14: Hoare triple {5221#true} assume !(0 == ~cond); {5221#true} is VALID [2022-04-15 16:38:03,736 INFO L290 TraceCheckUtils]: 13: Hoare triple {5221#true} ~cond := #in~cond; {5221#true} is VALID [2022-04-15 16:38:03,736 INFO L272 TraceCheckUtils]: 12: Hoare triple {5221#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 20 then 1 else 0)); {5221#true} is VALID [2022-04-15 16:38:03,737 INFO L290 TraceCheckUtils]: 11: Hoare triple {5221#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5221#true} is VALID [2022-04-15 16:38:03,737 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5221#true} {5221#true} #61#return; {5221#true} is VALID [2022-04-15 16:38:03,737 INFO L290 TraceCheckUtils]: 9: Hoare triple {5221#true} assume true; {5221#true} is VALID [2022-04-15 16:38:03,737 INFO L290 TraceCheckUtils]: 8: Hoare triple {5221#true} assume !(0 == ~cond); {5221#true} is VALID [2022-04-15 16:38:03,737 INFO L290 TraceCheckUtils]: 7: Hoare triple {5221#true} ~cond := #in~cond; {5221#true} is VALID [2022-04-15 16:38:03,737 INFO L272 TraceCheckUtils]: 6: Hoare triple {5221#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 20 then 1 else 0)); {5221#true} is VALID [2022-04-15 16:38:03,737 INFO L290 TraceCheckUtils]: 5: Hoare triple {5221#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {5221#true} is VALID [2022-04-15 16:38:03,737 INFO L272 TraceCheckUtils]: 4: Hoare triple {5221#true} call #t~ret6 := main(); {5221#true} is VALID [2022-04-15 16:38:03,737 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5221#true} {5221#true} #71#return; {5221#true} is VALID [2022-04-15 16:38:03,737 INFO L290 TraceCheckUtils]: 2: Hoare triple {5221#true} assume true; {5221#true} is VALID [2022-04-15 16:38:03,737 INFO L290 TraceCheckUtils]: 1: Hoare triple {5221#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {5221#true} is VALID [2022-04-15 16:38:03,737 INFO L272 TraceCheckUtils]: 0: Hoare triple {5221#true} call ULTIMATE.init(); {5221#true} is VALID [2022-04-15 16:38:03,738 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 23 proven. 1 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-04-15 16:38:03,738 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 16:38:03,738 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1136073368] [2022-04-15 16:38:03,738 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 16:38:03,738 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [687067000] [2022-04-15 16:38:03,738 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [687067000] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 16:38:03,738 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 16:38:03,738 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 14 [2022-04-15 16:38:03,738 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 16:38:03,738 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1211511630] [2022-04-15 16:38:03,738 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1211511630] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:38:03,738 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:38:03,739 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 16:38:03,739 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1621864292] [2022-04-15 16:38:03,739 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 16:38:03,739 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 55 [2022-04-15 16:38:03,739 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 16:38:03,739 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 16:38:06,456 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:38:06,456 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 16:38:06,456 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 16:38:06,457 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 16:38:06,457 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=141, Unknown=3, NotChecked=0, Total=182 [2022-04-15 16:38:06,457 INFO L87 Difference]: Start difference. First operand 50 states and 55 transitions. Second operand has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 16:38:15,670 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.67s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 16:38:20,694 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.11s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 16:38:28,888 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.22s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 16:38:37,414 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.02s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 16:38:38,299 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:38:38,300 INFO L93 Difference]: Finished difference Result 86 states and 95 transitions. [2022-04-15 16:38:38,300 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 16:38:38,300 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 55 [2022-04-15 16:38:38,300 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 16:38:38,300 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 16:38:38,301 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 50 transitions. [2022-04-15 16:38:38,301 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 16:38:38,304 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 50 transitions. [2022-04-15 16:38:38,304 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 50 transitions. [2022-04-15 16:38:44,007 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 48 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-15 16:38:44,008 INFO L225 Difference]: With dead ends: 86 [2022-04-15 16:38:44,008 INFO L226 Difference]: Without dead ends: 50 [2022-04-15 16:38:44,008 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 114 GetRequests, 95 SyntacticMatches, 2 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 62 ImplicationChecksByTransitivity, 19.4s TimeCoverageRelationStatistics Valid=77, Invalid=262, Unknown=3, NotChecked=0, Total=342 [2022-04-15 16:38:44,008 INFO L913 BasicCegarLoop]: 25 mSDtfsCounter, 19 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 144 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 9.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 159 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 144 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 6 IncrementalHoareTripleChecker+Unchecked, 9.2s IncrementalHoareTripleChecker+Time [2022-04-15 16:38:44,009 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 144 Invalid, 159 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 144 Invalid, 0 Unknown, 6 Unchecked, 9.2s Time] [2022-04-15 16:38:44,009 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-15 16:38:44,053 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 50. [2022-04-15 16:38:44,053 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 16:38:44,054 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:38:44,054 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:38:44,054 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:38:44,055 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:38:44,055 INFO L93 Difference]: Finished difference Result 50 states and 52 transitions. [2022-04-15 16:38:44,055 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 52 transitions. [2022-04-15 16:38:44,055 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:38:44,055 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:38:44,055 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 50 states. [2022-04-15 16:38:44,055 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 50 states. [2022-04-15 16:38:44,056 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:38:44,056 INFO L93 Difference]: Finished difference Result 50 states and 52 transitions. [2022-04-15 16:38:44,056 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 52 transitions. [2022-04-15 16:38:44,057 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:38:44,057 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:38:44,057 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 16:38:44,057 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 16:38:44,057 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:38:44,058 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 52 transitions. [2022-04-15 16:38:44,058 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 52 transitions. Word has length 55 [2022-04-15 16:38:44,058 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 16:38:44,058 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 52 transitions. [2022-04-15 16:38:44,058 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 16:38:44,058 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 52 transitions. [2022-04-15 16:38:53,926 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 48 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-15 16:38:53,927 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 52 transitions. [2022-04-15 16:38:53,927 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-15 16:38:53,927 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:38:53,927 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 16:38:53,945 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-15 16:38:54,127 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-15 16:38:54,128 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:38:54,128 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:38:54,128 INFO L85 PathProgramCache]: Analyzing trace with hash 1954893684, now seen corresponding path program 5 times [2022-04-15 16:38:54,128 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:38:54,128 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [968814962] [2022-04-15 16:38:54,128 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:38:54,128 INFO L85 PathProgramCache]: Analyzing trace with hash 1954893684, now seen corresponding path program 6 times [2022-04-15 16:38:54,129 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:38:54,129 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [680515704] [2022-04-15 16:38:54,129 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:38:54,129 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:38:54,151 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 16:38:54,151 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [172122203] [2022-04-15 16:38:54,152 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 16:38:54,152 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:38:54,152 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:38:54,153 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 16:38:54,153 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-15 16:38:54,195 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-15 16:38:54,196 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 16:38:54,197 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-15 16:38:54,236 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:38:54,238 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 16:39:19,260 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 16:40:27,868 INFO L272 TraceCheckUtils]: 0: Hoare triple {5946#true} call ULTIMATE.init(); {5946#true} is VALID [2022-04-15 16:40:27,868 INFO L290 TraceCheckUtils]: 1: Hoare triple {5946#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {5946#true} is VALID [2022-04-15 16:40:27,868 INFO L290 TraceCheckUtils]: 2: Hoare triple {5946#true} assume true; {5946#true} is VALID [2022-04-15 16:40:27,868 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5946#true} {5946#true} #71#return; {5946#true} is VALID [2022-04-15 16:40:27,868 INFO L272 TraceCheckUtils]: 4: Hoare triple {5946#true} call #t~ret6 := main(); {5946#true} is VALID [2022-04-15 16:40:27,868 INFO L290 TraceCheckUtils]: 5: Hoare triple {5946#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {5946#true} is VALID [2022-04-15 16:40:27,869 INFO L272 TraceCheckUtils]: 6: Hoare triple {5946#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 20 then 1 else 0)); {5946#true} is VALID [2022-04-15 16:40:27,869 INFO L290 TraceCheckUtils]: 7: Hoare triple {5946#true} ~cond := #in~cond; {5946#true} is VALID [2022-04-15 16:40:27,869 INFO L290 TraceCheckUtils]: 8: Hoare triple {5946#true} assume !(0 == ~cond); {5946#true} is VALID [2022-04-15 16:40:27,869 INFO L290 TraceCheckUtils]: 9: Hoare triple {5946#true} assume true; {5946#true} is VALID [2022-04-15 16:40:27,869 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5946#true} {5946#true} #61#return; {5946#true} is VALID [2022-04-15 16:40:27,869 INFO L290 TraceCheckUtils]: 11: Hoare triple {5946#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5946#true} is VALID [2022-04-15 16:40:27,869 INFO L272 TraceCheckUtils]: 12: Hoare triple {5946#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 20 then 1 else 0)); {5946#true} is VALID [2022-04-15 16:40:27,869 INFO L290 TraceCheckUtils]: 13: Hoare triple {5946#true} ~cond := #in~cond; {5946#true} is VALID [2022-04-15 16:40:27,869 INFO L290 TraceCheckUtils]: 14: Hoare triple {5946#true} assume !(0 == ~cond); {5946#true} is VALID [2022-04-15 16:40:27,869 INFO L290 TraceCheckUtils]: 15: Hoare triple {5946#true} assume true; {5946#true} is VALID [2022-04-15 16:40:27,869 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5946#true} {5946#true} #63#return; {5946#true} is VALID [2022-04-15 16:40:27,869 INFO L272 TraceCheckUtils]: 17: Hoare triple {5946#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5946#true} is VALID [2022-04-15 16:40:27,870 INFO L290 TraceCheckUtils]: 18: Hoare triple {5946#true} ~cond := #in~cond; {6005#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 16:40:27,870 INFO L290 TraceCheckUtils]: 19: Hoare triple {6005#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6009#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:40:27,870 INFO L290 TraceCheckUtils]: 20: Hoare triple {6009#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6009#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:40:27,871 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6009#(not (= |assume_abort_if_not_#in~cond| 0))} {5946#true} #65#return; {6016#(<= 1 main_~b~0)} is VALID [2022-04-15 16:40:27,871 INFO L290 TraceCheckUtils]: 22: Hoare triple {6016#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {6020#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-15 16:40:27,871 INFO L290 TraceCheckUtils]: 23: Hoare triple {6020#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0))} assume !false; {6020#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-15 16:40:27,871 INFO L272 TraceCheckUtils]: 24: Hoare triple {6020#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5946#true} is VALID [2022-04-15 16:40:27,871 INFO L290 TraceCheckUtils]: 25: Hoare triple {5946#true} ~cond := #in~cond; {5946#true} is VALID [2022-04-15 16:40:27,871 INFO L290 TraceCheckUtils]: 26: Hoare triple {5946#true} assume !(0 == ~cond); {5946#true} is VALID [2022-04-15 16:40:27,872 INFO L290 TraceCheckUtils]: 27: Hoare triple {5946#true} assume true; {5946#true} is VALID [2022-04-15 16:40:27,872 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5946#true} {6020#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0))} #67#return; {6020#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-15 16:40:27,872 INFO L290 TraceCheckUtils]: 29: Hoare triple {6020#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {6020#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-15 16:40:27,873 INFO L290 TraceCheckUtils]: 30: Hoare triple {6020#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6045#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-15 16:40:27,874 INFO L290 TraceCheckUtils]: 31: Hoare triple {6045#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {6049#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-15 16:40:27,874 INFO L290 TraceCheckUtils]: 32: Hoare triple {6049#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !false; {6049#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-15 16:40:27,874 INFO L272 TraceCheckUtils]: 33: Hoare triple {6049#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5946#true} is VALID [2022-04-15 16:40:27,874 INFO L290 TraceCheckUtils]: 34: Hoare triple {5946#true} ~cond := #in~cond; {5946#true} is VALID [2022-04-15 16:40:27,874 INFO L290 TraceCheckUtils]: 35: Hoare triple {5946#true} assume !(0 == ~cond); {5946#true} is VALID [2022-04-15 16:40:27,874 INFO L290 TraceCheckUtils]: 36: Hoare triple {5946#true} assume true; {5946#true} is VALID [2022-04-15 16:40:27,875 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5946#true} {6049#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #67#return; {6049#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-15 16:40:27,875 INFO L290 TraceCheckUtils]: 38: Hoare triple {6049#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {6049#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-15 16:40:27,876 INFO L290 TraceCheckUtils]: 39: Hoare triple {6049#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6074#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-15 16:40:27,877 INFO L290 TraceCheckUtils]: 40: Hoare triple {6074#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {6078#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (<= (div (div main_~b~0 2) 2) main_~y~0))} is VALID [2022-04-15 16:40:27,877 INFO L290 TraceCheckUtils]: 41: Hoare triple {6078#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (<= (div (div main_~b~0 2) 2) main_~y~0))} assume !false; {6078#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (<= (div (div main_~b~0 2) 2) main_~y~0))} is VALID [2022-04-15 16:40:27,877 INFO L272 TraceCheckUtils]: 42: Hoare triple {6078#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (<= (div (div main_~b~0 2) 2) main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5946#true} is VALID [2022-04-15 16:40:27,878 INFO L290 TraceCheckUtils]: 43: Hoare triple {5946#true} ~cond := #in~cond; {6088#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:40:27,878 INFO L290 TraceCheckUtils]: 44: Hoare triple {6088#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6092#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:40:27,878 INFO L290 TraceCheckUtils]: 45: Hoare triple {6092#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6092#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:40:27,879 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6092#(not (= |__VERIFIER_assert_#in~cond| 0))} {6078#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (<= (div (div main_~b~0 2) 2) main_~y~0))} #67#return; {6099#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (<= (div (div main_~b~0 2) 2) main_~y~0))} is VALID [2022-04-15 16:40:27,879 INFO L290 TraceCheckUtils]: 47: Hoare triple {6099#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (<= (div (div main_~b~0 2) 2) main_~y~0))} assume !!(0 != ~y~0); {6099#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (<= (div (div main_~b~0 2) 2) main_~y~0))} is VALID [2022-04-15 16:40:27,880 INFO L290 TraceCheckUtils]: 48: Hoare triple {6099#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (<= (div (div main_~b~0 2) 2) main_~y~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6106#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (<= (div (div main_~b~0 2) 2) main_~y~0))} is VALID [2022-04-15 16:40:29,368 INFO L290 TraceCheckUtils]: 49: Hoare triple {6106#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (<= (div (div main_~b~0 2) 2) main_~y~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {6110#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (exists ((aux_div_v_main_~y~0_63_22 Int) (aux_mod_v_main_~y~0_63_22 Int)) (and (<= 0 aux_mod_v_main_~y~0_63_22) (<= (div (div main_~b~0 2) 2) (+ aux_mod_v_main_~y~0_63_22 (* aux_div_v_main_~y~0_63_22 2))) (= (+ main_~z~0 (* (div (- main_~x~0) (- 2)) (+ aux_mod_v_main_~y~0_63_22 (* aux_div_v_main_~y~0_63_22 2)))) (* main_~b~0 main_~a~0)) (= main_~y~0 (div (+ aux_mod_v_main_~y~0_63_22 (* aux_div_v_main_~y~0_63_22 2)) 2)) (< aux_mod_v_main_~y~0_63_22 2) (not (= aux_mod_v_main_~y~0_63_22 1)))) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-15 16:40:31,279 INFO L290 TraceCheckUtils]: 50: Hoare triple {6110#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (exists ((aux_div_v_main_~y~0_63_22 Int) (aux_mod_v_main_~y~0_63_22 Int)) (and (<= 0 aux_mod_v_main_~y~0_63_22) (<= (div (div main_~b~0 2) 2) (+ aux_mod_v_main_~y~0_63_22 (* aux_div_v_main_~y~0_63_22 2))) (= (+ main_~z~0 (* (div (- main_~x~0) (- 2)) (+ aux_mod_v_main_~y~0_63_22 (* aux_div_v_main_~y~0_63_22 2)))) (* main_~b~0 main_~a~0)) (= main_~y~0 (div (+ aux_mod_v_main_~y~0_63_22 (* aux_div_v_main_~y~0_63_22 2)) 2)) (< aux_mod_v_main_~y~0_63_22 2) (not (= aux_mod_v_main_~y~0_63_22 1)))) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (mod main_~x~0 2) 0))} assume !false; {6114#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (< (div (* (- 1) (div (div main_~b~0 2) 2)) (- 2)) (+ main_~y~0 1)) (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-15 16:40:33,543 WARN L272 TraceCheckUtils]: 51: Hoare triple {6114#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (< (div (* (- 1) (div (div main_~b~0 2) 2)) (- 2)) (+ main_~y~0 1)) (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6118#(exists ((v_main_~y~0_BEFORE_CALL_41 Int) (v_main_~a~0_BEFORE_CALL_37 Int) (aux_mod_aux_mod_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57 Int) (aux_div_v_main_~x~0_BEFORE_CALL_35_34 Int) (aux_mod_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57 Int) (aux_div_aux_div_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57_82 Int) (aux_div_aux_mod_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57 Int) (aux_mod_aux_div_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57_82 Int) (aux_mod_aux_div_v_main_~b~0_BEFORE_CALL_45_34_45 Int) (aux_div_aux_div_v_main_~b~0_BEFORE_CALL_45_34_45 Int)) (and (<= 0 aux_mod_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57) (< (+ (* aux_div_aux_mod_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57 2) aux_mod_aux_mod_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57) 2) (<= 0 aux_mod_aux_div_v_main_~b~0_BEFORE_CALL_45_34_45) (< (+ (* aux_div_aux_mod_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57 2) (* 2 aux_mod_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57) aux_mod_aux_mod_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57 (* aux_div_aux_div_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57_82 8)) (+ (* 2 aux_mod_aux_div_v_main_~b~0_BEFORE_CALL_45_34_45) 2 (* 4 aux_mod_aux_div_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57_82) (* 4 aux_div_aux_div_v_main_~b~0_BEFORE_CALL_45_34_45))) (<= 0 aux_mod_aux_mod_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57) (<= (+ (* 2 aux_mod_aux_div_v_main_~b~0_BEFORE_CALL_45_34_45) (* 4 aux_mod_aux_div_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57_82) (* 4 aux_div_aux_div_v_main_~b~0_BEFORE_CALL_45_34_45)) (+ (* aux_div_aux_mod_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57 2) (* 2 aux_mod_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57) aux_mod_aux_mod_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57 (* aux_div_aux_div_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57_82 8))) (< aux_mod_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57 2) (<= (+ (* 4 aux_mod_aux_div_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57_82) 1) (+ (* aux_div_aux_mod_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57 2) (* 2 aux_mod_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57) aux_mod_aux_mod_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57 (* aux_div_aux_div_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57_82 8))) (not (= aux_mod_aux_div_v_main_~b~0_BEFORE_CALL_45_34_45 1)) (= (* v_main_~a~0_BEFORE_CALL_37 (+ (* aux_div_aux_mod_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57 2) (* 2 aux_mod_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57) aux_mod_aux_mod_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57 (* aux_div_aux_div_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57_82 8) (* (- 4) aux_mod_aux_div_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57_82))) (* (* (div (* (- 2) aux_div_v_main_~x~0_BEFORE_CALL_35_34) (- 2)) v_main_~y~0_BEFORE_CALL_41) 2)) (<= 1 |__VERIFIER_assert_#in~cond|) (< aux_mod_aux_div_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57_82 2) (<= 0 (+ (* aux_div_aux_mod_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57 2) aux_mod_aux_mod_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57)) (< aux_mod_aux_mod_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57 2) (not (= aux_mod_aux_mod_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57 1)) (< aux_mod_aux_div_v_main_~b~0_BEFORE_CALL_45_34_45 2) (<= 0 aux_mod_aux_div_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57_82) (< aux_div_aux_div_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57_82 (+ v_main_~y~0_BEFORE_CALL_41 1))))} is UNKNOWN [2022-04-15 16:40:33,544 INFO L290 TraceCheckUtils]: 52: Hoare triple {6118#(exists ((v_main_~y~0_BEFORE_CALL_41 Int) (v_main_~a~0_BEFORE_CALL_37 Int) (aux_mod_aux_mod_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57 Int) (aux_div_v_main_~x~0_BEFORE_CALL_35_34 Int) (aux_mod_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57 Int) (aux_div_aux_div_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57_82 Int) (aux_div_aux_mod_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57 Int) (aux_mod_aux_div_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57_82 Int) (aux_mod_aux_div_v_main_~b~0_BEFORE_CALL_45_34_45 Int) (aux_div_aux_div_v_main_~b~0_BEFORE_CALL_45_34_45 Int)) (and (<= 0 aux_mod_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57) (< (+ (* aux_div_aux_mod_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57 2) aux_mod_aux_mod_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57) 2) (<= 0 aux_mod_aux_div_v_main_~b~0_BEFORE_CALL_45_34_45) (< (+ (* aux_div_aux_mod_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57 2) (* 2 aux_mod_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57) aux_mod_aux_mod_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57 (* aux_div_aux_div_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57_82 8)) (+ (* 2 aux_mod_aux_div_v_main_~b~0_BEFORE_CALL_45_34_45) 2 (* 4 aux_mod_aux_div_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57_82) (* 4 aux_div_aux_div_v_main_~b~0_BEFORE_CALL_45_34_45))) (<= 0 aux_mod_aux_mod_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57) (<= (+ (* 2 aux_mod_aux_div_v_main_~b~0_BEFORE_CALL_45_34_45) (* 4 aux_mod_aux_div_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57_82) (* 4 aux_div_aux_div_v_main_~b~0_BEFORE_CALL_45_34_45)) (+ (* aux_div_aux_mod_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57 2) (* 2 aux_mod_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57) aux_mod_aux_mod_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57 (* aux_div_aux_div_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57_82 8))) (< aux_mod_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57 2) (<= (+ (* 4 aux_mod_aux_div_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57_82) 1) (+ (* aux_div_aux_mod_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57 2) (* 2 aux_mod_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57) aux_mod_aux_mod_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57 (* aux_div_aux_div_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57_82 8))) (not (= aux_mod_aux_div_v_main_~b~0_BEFORE_CALL_45_34_45 1)) (= (* v_main_~a~0_BEFORE_CALL_37 (+ (* aux_div_aux_mod_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57 2) (* 2 aux_mod_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57) aux_mod_aux_mod_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57 (* aux_div_aux_div_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57_82 8) (* (- 4) aux_mod_aux_div_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57_82))) (* (* (div (* (- 2) aux_div_v_main_~x~0_BEFORE_CALL_35_34) (- 2)) v_main_~y~0_BEFORE_CALL_41) 2)) (<= 1 |__VERIFIER_assert_#in~cond|) (< aux_mod_aux_div_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57_82 2) (<= 0 (+ (* aux_div_aux_mod_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57 2) aux_mod_aux_mod_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57)) (< aux_mod_aux_mod_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57 2) (not (= aux_mod_aux_mod_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57 1)) (< aux_mod_aux_div_v_main_~b~0_BEFORE_CALL_45_34_45 2) (<= 0 aux_mod_aux_div_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57_82) (< aux_div_aux_div_aux_div_aux_mod_v_main_~b~0_BEFORE_CALL_45_34_159_57_82 (+ v_main_~y~0_BEFORE_CALL_41 1))))} ~cond := #in~cond; {6122#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:40:33,544 INFO L290 TraceCheckUtils]: 53: Hoare triple {6122#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5947#false} is VALID [2022-04-15 16:40:33,545 INFO L290 TraceCheckUtils]: 54: Hoare triple {5947#false} assume !false; {5947#false} is VALID [2022-04-15 16:40:33,545 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 17 proven. 22 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 16:40:33,545 INFO L328 TraceCheckSpWp]: Computing backward predicates...