/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/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound100.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 07:28:12,586 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 07:28:12,587 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 07:28:12,612 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 07:28:12,613 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 07:28:12,613 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 07:28:12,614 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 07:28:12,619 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 07:28:12,621 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 07:28:12,625 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 07:28:12,625 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 07:28:12,626 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 07:28:12,626 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 07:28:12,628 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 07:28:12,629 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 07:28:12,630 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 07:28:12,631 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 07:28:12,631 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 07:28:12,636 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 07:28:12,640 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 07:28:12,640 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 07:28:12,648 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 07:28:12,649 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 07:28:12,649 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 07:28:12,650 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 07:28:12,651 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 07:28:12,651 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 07:28:12,651 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 07:28:12,652 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 07:28:12,652 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 07:28:12,652 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 07:28:12,653 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 07:28:12,653 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 07:28:12,653 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 07:28:12,654 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 07:28:12,654 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 07:28:12,654 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 07:28:12,655 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 07:28:12,655 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 07:28:12,655 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 07:28:12,655 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 07:28:12,660 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 07:28:12,660 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-28 07:28:12,668 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 07:28:12,668 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 07:28:12,669 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 07:28:12,669 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-28 07:28:12,669 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 07:28:12,669 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-28 07:28:12,669 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 07:28:12,669 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 07:28:12,669 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 07:28:12,670 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 07:28:12,670 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-28 07:28:12,670 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 07:28:12,670 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 07:28:12,670 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 07:28:12,671 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 07:28:12,671 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 07:28:12,671 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 07:28:12,671 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 07:28:12,671 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 07:28:12,671 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 07:28:12,671 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 07:28:12,671 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 07:28:12,671 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 07:28:12,671 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 07:28:12,671 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-28 07:28:12,672 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-28 07:28:12,819 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 07:28:12,832 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 07:28:12,834 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 07:28:12,834 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 07:28:12,835 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 07:28:12,835 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound100.c [2022-04-28 07:28:12,869 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e0b54b2e0/e54f9bfea27a43629d076576bc79c888/FLAG52b528452 [2022-04-28 07:28:13,205 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 07:28:13,206 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound100.c [2022-04-28 07:28:13,209 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e0b54b2e0/e54f9bfea27a43629d076576bc79c888/FLAG52b528452 [2022-04-28 07:28:13,217 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e0b54b2e0/e54f9bfea27a43629d076576bc79c888 [2022-04-28 07:28:13,219 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 07:28:13,219 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 07:28:13,220 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 07:28:13,220 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 07:28:13,222 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 07:28:13,223 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 07:28:13" (1/1) ... [2022-04-28 07:28:13,223 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@28c23fc8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:28:13, skipping insertion in model container [2022-04-28 07:28:13,223 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 07:28:13" (1/1) ... [2022-04-28 07:28:13,228 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 07:28:13,235 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 07:28:13,343 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_valuebound100.c[537,550] [2022-04-28 07:28:13,362 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 07:28:13,368 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 07:28:13,377 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_valuebound100.c[537,550] [2022-04-28 07:28:13,380 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 07:28:13,388 INFO L208 MainTranslator]: Completed translation [2022-04-28 07:28:13,389 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:28:13 WrapperNode [2022-04-28 07:28:13,389 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 07:28:13,390 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 07:28:13,390 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 07:28:13,390 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 07:28:13,396 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:28:13" (1/1) ... [2022-04-28 07:28:13,396 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:28:13" (1/1) ... [2022-04-28 07:28:13,401 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:28:13" (1/1) ... [2022-04-28 07:28:13,402 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:28:13" (1/1) ... [2022-04-28 07:28:13,411 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:28:13" (1/1) ... [2022-04-28 07:28:13,415 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:28:13" (1/1) ... [2022-04-28 07:28:13,416 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:28:13" (1/1) ... [2022-04-28 07:28:13,420 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 07:28:13,421 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 07:28:13,421 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 07:28:13,421 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 07:28:13,422 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:28:13" (1/1) ... [2022-04-28 07:28:13,426 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 07:28:13,433 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:28:13,441 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-28 07:28:13,459 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-28 07:28:13,468 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 07:28:13,468 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 07:28:13,468 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 07:28:13,468 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 07:28:13,468 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 07:28:13,468 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 07:28:13,468 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 07:28:13,468 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 07:28:13,469 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 07:28:13,469 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 07:28:13,469 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 07:28:13,469 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 07:28:13,470 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 07:28:13,470 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 07:28:13,470 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 07:28:13,470 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 07:28:13,470 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 07:28:13,470 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 07:28:13,470 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 07:28:13,470 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 07:28:13,511 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 07:28:13,512 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 07:28:13,637 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 07:28:13,641 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 07:28:13,642 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 07:28:13,643 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 07:28:13 BoogieIcfgContainer [2022-04-28 07:28:13,643 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 07:28:13,644 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 07:28:13,644 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 07:28:13,660 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 07:28:13,660 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 07:28:13" (1/3) ... [2022-04-28 07:28:13,660 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4f314b8c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 07:28:13, skipping insertion in model container [2022-04-28 07:28:13,661 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:28:13" (2/3) ... [2022-04-28 07:28:13,661 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4f314b8c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 07:28:13, skipping insertion in model container [2022-04-28 07:28:13,661 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 07:28:13" (3/3) ... [2022-04-28 07:28:13,662 INFO L111 eAbstractionObserver]: Analyzing ICFG prodbin-ll_valuebound100.c [2022-04-28 07:28:13,670 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 07:28:13,670 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 07:28:13,701 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 07:28:13,707 INFO L357 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, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@33848154, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@1c359718 [2022-04-28 07:28:13,707 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 07:28:13,716 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-28 07:28:13,720 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 07:28:13,720 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:28:13,720 INFO L195 NwaCegarLoop]: 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-28 07:28:13,721 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:28:13,724 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:28:13,724 INFO L85 PathProgramCache]: Analyzing trace with hash -589322634, now seen corresponding path program 1 times [2022-04-28 07:28:13,729 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:28:13,729 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1763024673] [2022-04-28 07:28:13,735 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:28:13,735 INFO L85 PathProgramCache]: Analyzing trace with hash -589322634, now seen corresponding path program 2 times [2022-04-28 07:28:13,737 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:28:13,737 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2030607203] [2022-04-28 07:28:13,737 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:28:13,738 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:28:13,833 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:28:13,889 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 07:28:13,899 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:28:13,914 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-28 07:28:13,914 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-28 07:28:13,914 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-28 07:28:13,915 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 07:28:13,918 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:28:13,933 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 07:28:13,934 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 07:28:13,934 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 07:28:13,934 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-28 07:28:13,935 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 07:28:13,936 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:28:13,944 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 07:28:13,946 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 07:28:13,946 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 07:28:13,946 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-28 07:28:13,946 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 07:28:13,948 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:28:13,954 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 07:28:13,955 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 07:28:13,955 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 07:28:13,955 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-28 07:28:13,960 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-28 07:28:13,960 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-28 07:28:13,960 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-28 07:28:13,961 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-28 07:28:13,961 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret6 := main(); {35#true} is VALID [2022-04-28 07:28:13,961 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-28 07:28:13,961 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {35#true} is VALID [2022-04-28 07:28:13,961 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 07:28:13,962 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 07:28:13,963 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 07:28:13,963 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-28 07:28:13,963 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-28 07:28:13,963 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {35#true} is VALID [2022-04-28 07:28:13,963 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 07:28:13,964 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 07:28:13,964 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 07:28:13,964 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-28 07:28:13,964 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-28 07:28:13,964 INFO L290 TraceCheckUtils]: 18: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 07:28:13,965 INFO L290 TraceCheckUtils]: 19: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 07:28:13,965 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 07:28:13,965 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-28 07:28:13,965 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-28 07:28:13,965 INFO L290 TraceCheckUtils]: 23: Hoare triple {36#false} assume false; {36#false} is VALID [2022-04-28 07:28:13,966 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-28 07:28:13,966 INFO L290 TraceCheckUtils]: 25: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-28 07:28:13,966 INFO L290 TraceCheckUtils]: 26: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-28 07:28:13,966 INFO L290 TraceCheckUtils]: 27: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-28 07:28:13,966 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-28 07:28:13,967 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:28:13,967 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2030607203] [2022-04-28 07:28:13,967 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2030607203] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:28:13,967 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:28:13,968 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 07:28:13,969 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:28:13,969 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1763024673] [2022-04-28 07:28:13,969 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1763024673] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:28:13,970 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:28:13,970 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 07:28:13,970 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [742550348] [2022-04-28 07:28:13,970 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:28:13,973 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-28 07:28:13,974 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:28:13,976 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-28 07:28:14,006 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-28 07:28:14,006 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 07:28:14,007 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:28:14,023 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 07:28:14,024 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 07:28:14,026 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-28 07:28:14,135 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:28:14,136 INFO L93 Difference]: Finished difference Result 57 states and 77 transitions. [2022-04-28 07:28:14,136 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 07:28:14,136 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-28 07:28:14,136 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:28:14,137 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-28 07:28:14,142 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-28 07:28:14,142 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-28 07:28:14,145 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-28 07:28:14,145 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 77 transitions. [2022-04-28 07:28:14,238 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-28 07:28:14,244 INFO L225 Difference]: With dead ends: 57 [2022-04-28 07:28:14,244 INFO L226 Difference]: Without dead ends: 27 [2022-04-28 07:28:14,246 INFO L412 NwaCegarLoop]: 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-28 07:28:14,248 INFO L413 NwaCegarLoop]: 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-28 07:28:14,249 INFO L414 NwaCegarLoop]: 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-28 07:28:14,260 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-28 07:28:14,278 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-28 07:28:14,278 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:28:14,279 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-28 07:28:14,280 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-28 07:28:14,281 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-28 07:28:14,287 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:28:14,287 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-28 07:28:14,287 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 07:28:14,288 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:28:14,288 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:28:14,289 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-28 07:28:14,289 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-28 07:28:14,292 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:28:14,292 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-28 07:28:14,292 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 07:28:14,293 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:28:14,293 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:28:14,293 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:28:14,294 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:28:14,295 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-28 07:28:14,303 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 31 transitions. [2022-04-28 07:28:14,304 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 31 transitions. Word has length 28 [2022-04-28 07:28:14,304 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:28:14,304 INFO L495 AbstractCegarLoop]: Abstraction has 27 states and 31 transitions. [2022-04-28 07:28:14,305 INFO L496 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-28 07:28:14,305 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 31 transitions. [2022-04-28 07:28:14,344 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-28 07:28:14,344 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 07:28:14,345 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 07:28:14,345 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:28:14,346 INFO L195 NwaCegarLoop]: 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-28 07:28:14,346 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 07:28:14,346 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:28:14,347 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:28:14,347 INFO L85 PathProgramCache]: Analyzing trace with hash -1736242504, now seen corresponding path program 1 times [2022-04-28 07:28:14,347 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:28:14,348 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [351576286] [2022-04-28 07:28:14,349 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:28:14,350 INFO L85 PathProgramCache]: Analyzing trace with hash -1736242504, now seen corresponding path program 2 times [2022-04-28 07:28:14,350 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:28:14,353 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1032226783] [2022-04-28 07:28:14,353 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:28:14,353 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:28:14,381 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:28:14,382 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [936731605] [2022-04-28 07:28:14,382 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:28:14,382 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:28:14,382 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:28:14,384 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-28 07:28:14,385 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-28 07:28:14,425 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 07:28:14,425 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:28:14,427 INFO L263 TraceCheckSpWp]: Trace formula consists of 68 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 07:28:14,436 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:28:14,439 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:28:14,596 INFO L272 TraceCheckUtils]: 0: Hoare triple {277#true} call ULTIMATE.init(); {277#true} is VALID [2022-04-28 07:28:14,597 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-28 07:28:14,597 INFO L290 TraceCheckUtils]: 2: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-28 07:28:14,597 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {277#true} {277#true} #71#return; {277#true} is VALID [2022-04-28 07:28:14,597 INFO L272 TraceCheckUtils]: 4: Hoare triple {277#true} call #t~ret6 := main(); {277#true} is VALID [2022-04-28 07:28:14,597 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-28 07:28:14,598 INFO L272 TraceCheckUtils]: 6: Hoare triple {277#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {277#true} is VALID [2022-04-28 07:28:14,598 INFO L290 TraceCheckUtils]: 7: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-28 07:28:14,598 INFO L290 TraceCheckUtils]: 8: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-28 07:28:14,598 INFO L290 TraceCheckUtils]: 9: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-28 07:28:14,598 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {277#true} {277#true} #61#return; {277#true} is VALID [2022-04-28 07:28:14,598 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-28 07:28:14,599 INFO L272 TraceCheckUtils]: 12: Hoare triple {277#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {277#true} is VALID [2022-04-28 07:28:14,599 INFO L290 TraceCheckUtils]: 13: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-28 07:28:14,599 INFO L290 TraceCheckUtils]: 14: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-28 07:28:14,599 INFO L290 TraceCheckUtils]: 15: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-28 07:28:14,599 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {277#true} {277#true} #63#return; {277#true} is VALID [2022-04-28 07:28:14,599 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-28 07:28:14,599 INFO L290 TraceCheckUtils]: 18: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-28 07:28:14,600 INFO L290 TraceCheckUtils]: 19: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-28 07:28:14,600 INFO L290 TraceCheckUtils]: 20: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-28 07:28:14,600 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {277#true} {277#true} #65#return; {277#true} is VALID [2022-04-28 07:28:14,619 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-28 07:28:14,619 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-28 07:28:14,620 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-28 07:28:14,621 INFO L290 TraceCheckUtils]: 25: Hoare triple {355#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {359#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:28:14,621 INFO L290 TraceCheckUtils]: 26: Hoare triple {359#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {278#false} is VALID [2022-04-28 07:28:14,621 INFO L290 TraceCheckUtils]: 27: Hoare triple {278#false} assume !false; {278#false} is VALID [2022-04-28 07:28:14,622 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-28 07:28:14,622 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 07:28:14,622 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:28:14,622 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1032226783] [2022-04-28 07:28:14,622 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:28:14,622 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [936731605] [2022-04-28 07:28:14,623 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [936731605] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:28:14,623 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:28:14,623 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 07:28:14,624 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:28:14,624 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [351576286] [2022-04-28 07:28:14,624 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [351576286] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:28:14,624 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:28:14,624 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 07:28:14,624 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2008403111] [2022-04-28 07:28:14,624 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:28:14,625 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-28 07:28:14,625 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:28:14,625 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-28 07:28:14,641 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-28 07:28:14,641 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 07:28:14,641 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:28:14,642 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 07:28:14,642 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 07:28:14,642 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-28 07:28:14,784 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:28:14,784 INFO L93 Difference]: Finished difference Result 39 states and 45 transitions. [2022-04-28 07:28:14,784 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 07:28:14,784 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-28 07:28:14,785 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:28:14,785 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-28 07:28:14,790 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-28 07:28:14,790 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-28 07:28:14,793 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-28 07:28:14,793 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 45 transitions. [2022-04-28 07:28:14,823 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-28 07:28:14,828 INFO L225 Difference]: With dead ends: 39 [2022-04-28 07:28:14,828 INFO L226 Difference]: Without dead ends: 37 [2022-04-28 07:28:14,829 INFO L412 NwaCegarLoop]: 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-28 07:28:14,829 INFO L413 NwaCegarLoop]: 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-28 07:28:14,830 INFO L414 NwaCegarLoop]: 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-28 07:28:14,830 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-04-28 07:28:14,838 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 33. [2022-04-28 07:28:14,838 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:28:14,838 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-28 07:28:14,839 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-28 07:28:14,839 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-28 07:28:14,841 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:28:14,841 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-28 07:28:14,841 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-28 07:28:14,841 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:28:14,841 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:28:14,841 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-28 07:28:14,842 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-28 07:28:14,843 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:28:14,843 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-28 07:28:14,843 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-28 07:28:14,844 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:28:14,844 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:28:14,844 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:28:14,844 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:28:14,844 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-28 07:28:14,846 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 37 transitions. [2022-04-28 07:28:14,846 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 37 transitions. Word has length 28 [2022-04-28 07:28:14,846 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:28:14,846 INFO L495 AbstractCegarLoop]: Abstraction has 33 states and 37 transitions. [2022-04-28 07:28:14,846 INFO L496 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-28 07:28:14,846 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 37 transitions. [2022-04-28 07:28:14,878 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-28 07:28:14,878 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2022-04-28 07:28:14,879 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-28 07:28:14,879 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:28:14,879 INFO L195 NwaCegarLoop]: 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-28 07:28:14,895 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-28 07:28:15,089 WARN L477 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-28 07:28:15,090 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:28:15,090 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:28:15,090 INFO L85 PathProgramCache]: Analyzing trace with hash 1911690432, now seen corresponding path program 1 times [2022-04-28 07:28:15,090 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:28:15,091 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [165600278] [2022-04-28 07:28:15,091 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:28:15,091 INFO L85 PathProgramCache]: Analyzing trace with hash 1911690432, now seen corresponding path program 2 times [2022-04-28 07:28:15,091 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:28:15,091 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2061687147] [2022-04-28 07:28:15,091 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:28:15,091 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:28:15,105 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:28:15,105 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [862452131] [2022-04-28 07:28:15,105 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:28:15,105 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:28:15,106 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:28:15,106 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-28 07:28:15,107 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-28 07:28:15,154 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:28:15,154 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:28:15,155 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 07:28:15,162 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:28:15,162 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:28:15,273 INFO L272 TraceCheckUtils]: 0: Hoare triple {585#true} call ULTIMATE.init(); {585#true} is VALID [2022-04-28 07:28:15,273 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-28 07:28:15,276 INFO L290 TraceCheckUtils]: 2: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-28 07:28:15,276 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {585#true} {585#true} #71#return; {585#true} is VALID [2022-04-28 07:28:15,276 INFO L272 TraceCheckUtils]: 4: Hoare triple {585#true} call #t~ret6 := main(); {585#true} is VALID [2022-04-28 07:28:15,276 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-28 07:28:15,277 INFO L272 TraceCheckUtils]: 6: Hoare triple {585#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {585#true} is VALID [2022-04-28 07:28:15,277 INFO L290 TraceCheckUtils]: 7: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-28 07:28:15,277 INFO L290 TraceCheckUtils]: 8: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-28 07:28:15,277 INFO L290 TraceCheckUtils]: 9: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-28 07:28:15,277 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {585#true} {585#true} #61#return; {585#true} is VALID [2022-04-28 07:28:15,278 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-28 07:28:15,278 INFO L272 TraceCheckUtils]: 12: Hoare triple {585#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {585#true} is VALID [2022-04-28 07:28:15,278 INFO L290 TraceCheckUtils]: 13: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-28 07:28:15,278 INFO L290 TraceCheckUtils]: 14: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-28 07:28:15,278 INFO L290 TraceCheckUtils]: 15: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-28 07:28:15,280 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {585#true} {585#true} #63#return; {585#true} is VALID [2022-04-28 07:28:15,280 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-28 07:28:15,280 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-28 07:28:15,281 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-28 07:28:15,281 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-28 07:28:15,281 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-28 07:28:15,282 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-28 07:28:15,282 INFO L290 TraceCheckUtils]: 23: Hoare triple {659#(<= 1 main_~y~0)} assume !false; {659#(<= 1 main_~y~0)} is VALID [2022-04-28 07:28:15,282 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-28 07:28:15,282 INFO L290 TraceCheckUtils]: 25: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-28 07:28:15,282 INFO L290 TraceCheckUtils]: 26: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-28 07:28:15,283 INFO L290 TraceCheckUtils]: 27: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-28 07:28:15,284 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {585#true} {659#(<= 1 main_~y~0)} #67#return; {659#(<= 1 main_~y~0)} is VALID [2022-04-28 07:28:15,284 INFO L290 TraceCheckUtils]: 29: Hoare triple {659#(<= 1 main_~y~0)} assume !(0 != ~y~0); {586#false} is VALID [2022-04-28 07:28:15,288 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-28 07:28:15,288 INFO L290 TraceCheckUtils]: 31: Hoare triple {586#false} ~cond := #in~cond; {586#false} is VALID [2022-04-28 07:28:15,288 INFO L290 TraceCheckUtils]: 32: Hoare triple {586#false} assume 0 == ~cond; {586#false} is VALID [2022-04-28 07:28:15,288 INFO L290 TraceCheckUtils]: 33: Hoare triple {586#false} assume !false; {586#false} is VALID [2022-04-28 07:28:15,289 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-28 07:28:15,289 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 07:28:15,290 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:28:15,290 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2061687147] [2022-04-28 07:28:15,290 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:28:15,290 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [862452131] [2022-04-28 07:28:15,290 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [862452131] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:28:15,290 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:28:15,290 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 07:28:15,291 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:28:15,291 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [165600278] [2022-04-28 07:28:15,291 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [165600278] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:28:15,291 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:28:15,291 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 07:28:15,291 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1001626205] [2022-04-28 07:28:15,291 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:28:15,292 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-28 07:28:15,292 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:28:15,292 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-28 07:28:15,311 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-28 07:28:15,311 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 07:28:15,312 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:28:15,312 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 07:28:15,313 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 07:28:15,313 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-28 07:28:15,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:28:15,456 INFO L93 Difference]: Finished difference Result 43 states and 48 transitions. [2022-04-28 07:28:15,456 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 07:28:15,456 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-28 07:28:15,458 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:28:15,458 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-28 07:28:15,462 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-28 07:28:15,462 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-28 07:28:15,467 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-28 07:28:15,469 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 45 transitions. [2022-04-28 07:28:15,505 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-28 07:28:15,507 INFO L225 Difference]: With dead ends: 43 [2022-04-28 07:28:15,507 INFO L226 Difference]: Without dead ends: 36 [2022-04-28 07:28:15,508 INFO L412 NwaCegarLoop]: 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-28 07:28:15,509 INFO L413 NwaCegarLoop]: 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-28 07:28:15,510 INFO L414 NwaCegarLoop]: 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-28 07:28:15,510 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-28 07:28:15,530 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 34. [2022-04-28 07:28:15,530 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:28:15,530 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-28 07:28:15,532 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-28 07:28:15,532 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-28 07:28:15,534 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:28:15,534 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-28 07:28:15,534 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-28 07:28:15,534 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:28:15,534 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:28:15,535 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-28 07:28:15,535 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-28 07:28:15,536 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:28:15,536 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-28 07:28:15,536 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-28 07:28:15,536 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:28:15,537 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:28:15,537 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:28:15,537 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:28:15,537 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-28 07:28:15,538 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 38 transitions. [2022-04-28 07:28:15,538 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 38 transitions. Word has length 34 [2022-04-28 07:28:15,538 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:28:15,538 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 38 transitions. [2022-04-28 07:28:15,538 INFO L496 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-28 07:28:15,538 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 38 transitions. [2022-04-28 07:28:15,567 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-28 07:28:15,567 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2022-04-28 07:28:15,568 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-28 07:28:15,568 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:28:15,568 INFO L195 NwaCegarLoop]: 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-28 07:28:15,586 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-28 07:28:15,783 WARN L477 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-28 07:28:15,784 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:28:15,784 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:28:15,784 INFO L85 PathProgramCache]: Analyzing trace with hash 2022075506, now seen corresponding path program 1 times [2022-04-28 07:28:15,784 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:28:15,784 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [86094575] [2022-04-28 07:28:15,784 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:28:15,784 INFO L85 PathProgramCache]: Analyzing trace with hash 2022075506, now seen corresponding path program 2 times [2022-04-28 07:28:15,785 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:28:15,785 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [811089193] [2022-04-28 07:28:15,785 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:28:15,785 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:28:15,800 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:28:15,800 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2069447061] [2022-04-28 07:28:15,800 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:28:15,800 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:28:15,800 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:28:15,801 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-28 07:28:15,802 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-28 07:28:15,837 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:28:15,837 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:28:15,838 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-28 07:28:15,854 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:28:15,855 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:28:18,123 INFO L272 TraceCheckUtils]: 0: Hoare triple {922#true} call ULTIMATE.init(); {922#true} is VALID [2022-04-28 07:28:18,123 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-28 07:28:18,124 INFO L290 TraceCheckUtils]: 2: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 07:28:18,124 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {922#true} {922#true} #71#return; {922#true} is VALID [2022-04-28 07:28:18,124 INFO L272 TraceCheckUtils]: 4: Hoare triple {922#true} call #t~ret6 := main(); {922#true} is VALID [2022-04-28 07:28:18,124 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-28 07:28:18,124 INFO L272 TraceCheckUtils]: 6: Hoare triple {922#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {922#true} is VALID [2022-04-28 07:28:18,124 INFO L290 TraceCheckUtils]: 7: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 07:28:18,124 INFO L290 TraceCheckUtils]: 8: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 07:28:18,124 INFO L290 TraceCheckUtils]: 9: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 07:28:18,124 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {922#true} {922#true} #61#return; {922#true} is VALID [2022-04-28 07:28:18,125 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-28 07:28:18,125 INFO L272 TraceCheckUtils]: 12: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {922#true} is VALID [2022-04-28 07:28:18,125 INFO L290 TraceCheckUtils]: 13: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 07:28:18,125 INFO L290 TraceCheckUtils]: 14: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 07:28:18,125 INFO L290 TraceCheckUtils]: 15: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 07:28:18,125 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {922#true} {922#true} #63#return; {922#true} is VALID [2022-04-28 07:28:18,125 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-28 07:28:18,125 INFO L290 TraceCheckUtils]: 18: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 07:28:18,125 INFO L290 TraceCheckUtils]: 19: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 07:28:18,126 INFO L290 TraceCheckUtils]: 20: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 07:28:18,126 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {922#true} {922#true} #65#return; {922#true} is VALID [2022-04-28 07:28:18,127 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-28 07:28:18,127 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-28 07:28:18,127 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-28 07:28:18,128 INFO L290 TraceCheckUtils]: 25: Hoare triple {922#true} ~cond := #in~cond; {1003#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:28:18,128 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-28 07:28:18,128 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-28 07:28:18,129 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-28 07:28:18,130 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-28 07:28:18,132 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-28 07:28:18,138 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-28 07:28:18,139 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-28 07:28:18,406 INFO 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 VALID [2022-04-28 07:28:18,407 INFO L290 TraceCheckUtils]: 34: Hoare triple {1033#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1037#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:28:18,408 INFO L290 TraceCheckUtils]: 35: Hoare triple {1037#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {923#false} is VALID [2022-04-28 07:28:18,408 INFO L290 TraceCheckUtils]: 36: Hoare triple {923#false} assume !false; {923#false} is VALID [2022-04-28 07:28:18,408 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-28 07:28:18,408 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:29:23,450 INFO L290 TraceCheckUtils]: 36: Hoare triple {923#false} assume !false; {923#false} is VALID [2022-04-28 07:29:23,451 INFO L290 TraceCheckUtils]: 35: Hoare triple {1037#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {923#false} is VALID [2022-04-28 07:29:23,451 INFO L290 TraceCheckUtils]: 34: Hoare triple {1033#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1037#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:29:23,452 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-28 07:29:23,452 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-28 07:29:23,457 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-28 07:29:23,459 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-28 07:29:23,459 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-28 07:29:23,627 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-28 07:29:23,628 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-28 07:29:23,629 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-28 07:29:23,629 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-28 07:29:23,629 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-28 07:29:23,629 INFO L290 TraceCheckUtils]: 23: Hoare triple {922#true} assume !false; {922#true} is VALID [2022-04-28 07:29:23,629 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-28 07:29:23,629 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {922#true} {922#true} #65#return; {922#true} is VALID [2022-04-28 07:29:23,630 INFO L290 TraceCheckUtils]: 20: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 07:29:23,630 INFO L290 TraceCheckUtils]: 19: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 07:29:23,630 INFO L290 TraceCheckUtils]: 18: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 07:29:23,630 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-28 07:29:23,630 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {922#true} {922#true} #63#return; {922#true} is VALID [2022-04-28 07:29:23,630 INFO L290 TraceCheckUtils]: 15: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 07:29:23,630 INFO L290 TraceCheckUtils]: 14: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 07:29:23,630 INFO L290 TraceCheckUtils]: 13: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 07:29:23,630 INFO L272 TraceCheckUtils]: 12: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {922#true} is VALID [2022-04-28 07:29:23,630 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-28 07:29:23,631 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {922#true} {922#true} #61#return; {922#true} is VALID [2022-04-28 07:29:23,631 INFO L290 TraceCheckUtils]: 9: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 07:29:23,631 INFO L290 TraceCheckUtils]: 8: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 07:29:23,631 INFO L290 TraceCheckUtils]: 7: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 07:29:23,631 INFO L272 TraceCheckUtils]: 6: Hoare triple {922#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {922#true} is VALID [2022-04-28 07:29:23,631 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-28 07:29:23,631 INFO L272 TraceCheckUtils]: 4: Hoare triple {922#true} call #t~ret6 := main(); {922#true} is VALID [2022-04-28 07:29:23,631 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {922#true} {922#true} #71#return; {922#true} is VALID [2022-04-28 07:29:23,631 INFO L290 TraceCheckUtils]: 2: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 07:29:23,632 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-28 07:29:23,632 INFO L272 TraceCheckUtils]: 0: Hoare triple {922#true} call ULTIMATE.init(); {922#true} is VALID [2022-04-28 07:29:23,632 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-28 07:29:23,632 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:29:23,632 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [811089193] [2022-04-28 07:29:23,632 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:29:23,632 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2069447061] [2022-04-28 07:29:23,632 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2069447061] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:29:23,632 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:29:23,632 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 15 [2022-04-28 07:29:23,633 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:29:23,633 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [86094575] [2022-04-28 07:29:23,633 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [86094575] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:29:23,633 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:29:23,633 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 07:29:23,633 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [532603891] [2022-04-28 07:29:23,633 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:29:23,633 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-28 07:29:23,634 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:29:23,634 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-28 07:29:25,667 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-28 07:29:25,668 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 07:29:25,668 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:29:25,668 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 07:29:25,668 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=166, Unknown=2, NotChecked=0, Total=210 [2022-04-28 07:29:25,669 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-28 07:29:30,709 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-28 07:29:32,711 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-28 07:29:35,015 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:29:35,015 INFO L93 Difference]: Finished difference Result 49 states and 56 transitions. [2022-04-28 07:29:35,015 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 07:29:35,015 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-28 07:29:35,016 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:29:35,016 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-28 07:29:35,017 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 53 transitions. [2022-04-28 07:29:35,017 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-28 07:29:35,018 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 53 transitions. [2022-04-28 07:29:35,018 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 53 transitions. [2022-04-28 07:29:35,877 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-28 07:29:35,878 INFO L225 Difference]: With dead ends: 49 [2022-04-28 07:29:35,878 INFO L226 Difference]: Without dead ends: 47 [2022-04-28 07:29:35,878 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 58 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 40 ImplicationChecksByTransitivity, 10.9s TimeCoverageRelationStatistics Valid=55, Invalid=215, Unknown=2, NotChecked=0, Total=272 [2022-04-28 07:29:35,880 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 19 mSDsluCounter, 125 mSDsCounter, 0 mSdLazyCounter, 152 mSolverCounterSat, 4 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 149 SdHoareTripleChecker+Invalid, 158 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 152 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.6s IncrementalHoareTripleChecker+Time [2022-04-28 07:29:35,880 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [20 Valid, 149 Invalid, 158 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 152 Invalid, 2 Unknown, 0 Unchecked, 5.6s Time] [2022-04-28 07:29:35,881 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-28 07:29:35,910 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 42. [2022-04-28 07:29:35,910 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:29:35,910 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-28 07:29:35,911 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-28 07:29:35,911 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-28 07:29:35,912 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:29:35,912 INFO L93 Difference]: Finished difference Result 47 states and 54 transitions. [2022-04-28 07:29:35,912 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 54 transitions. [2022-04-28 07:29:35,913 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:29:35,913 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:29:35,913 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-28 07:29:35,913 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-28 07:29:35,914 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:29:35,914 INFO L93 Difference]: Finished difference Result 47 states and 54 transitions. [2022-04-28 07:29:35,914 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 54 transitions. [2022-04-28 07:29:35,915 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:29:35,915 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:29:35,915 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:29:35,915 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:29:35,915 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-28 07:29:35,916 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 47 transitions. [2022-04-28 07:29:35,916 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 47 transitions. Word has length 37 [2022-04-28 07:29:35,916 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:29:35,917 INFO L495 AbstractCegarLoop]: Abstraction has 42 states and 47 transitions. [2022-04-28 07:29:35,917 INFO L496 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-28 07:29:35,917 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 47 transitions. [2022-04-28 07:29:36,080 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:29:36,080 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 47 transitions. [2022-04-28 07:29:36,080 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-28 07:29:36,080 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:29:36,080 INFO L195 NwaCegarLoop]: 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-28 07:29:36,107 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-28 07:29:36,281 WARN L477 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-28 07:29:36,281 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:29:36,282 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:29:36,282 INFO L85 PathProgramCache]: Analyzing trace with hash -497884428, now seen corresponding path program 1 times [2022-04-28 07:29:36,282 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:29:36,282 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [113139690] [2022-04-28 07:29:36,282 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:29:36,282 INFO L85 PathProgramCache]: Analyzing trace with hash -497884428, now seen corresponding path program 2 times [2022-04-28 07:29:36,282 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:29:36,282 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1424639353] [2022-04-28 07:29:36,282 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:29:36,283 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:29:36,298 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:29:36,298 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [372727813] [2022-04-28 07:29:36,298 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:29:36,298 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:29:36,298 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:29:36,299 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-28 07:29:36,300 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-28 07:29:36,346 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:29:36,346 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:29:36,347 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 07:29:36,355 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:29:36,356 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:29:40,367 INFO L272 TraceCheckUtils]: 0: Hoare triple {1438#true} call ULTIMATE.init(); {1438#true} is VALID [2022-04-28 07:29:40,367 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-28 07:29:40,367 INFO L290 TraceCheckUtils]: 2: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-28 07:29:40,367 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1438#true} {1438#true} #71#return; {1438#true} is VALID [2022-04-28 07:29:40,369 INFO L272 TraceCheckUtils]: 4: Hoare triple {1438#true} call #t~ret6 := main(); {1438#true} is VALID [2022-04-28 07:29:40,369 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-28 07:29:40,369 INFO L272 TraceCheckUtils]: 6: Hoare triple {1438#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {1438#true} is VALID [2022-04-28 07:29:40,369 INFO L290 TraceCheckUtils]: 7: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-28 07:29:40,369 INFO L290 TraceCheckUtils]: 8: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-28 07:29:40,369 INFO L290 TraceCheckUtils]: 9: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-28 07:29:40,369 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1438#true} {1438#true} #61#return; {1438#true} is VALID [2022-04-28 07:29:40,369 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-28 07:29:40,369 INFO L272 TraceCheckUtils]: 12: Hoare triple {1438#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {1438#true} is VALID [2022-04-28 07:29:40,370 INFO L290 TraceCheckUtils]: 13: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-28 07:29:40,370 INFO L290 TraceCheckUtils]: 14: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-28 07:29:40,370 INFO L290 TraceCheckUtils]: 15: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-28 07:29:40,370 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1438#true} {1438#true} #63#return; {1438#true} is VALID [2022-04-28 07:29:40,370 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-28 07:29:40,374 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-28 07:29:40,375 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-28 07:29:40,375 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-28 07:29:40,376 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-28 07:29:40,376 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-28 07:29:40,377 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-28 07:29:40,377 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-28 07:29:40,377 INFO L290 TraceCheckUtils]: 25: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-28 07:29:40,377 INFO L290 TraceCheckUtils]: 26: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-28 07:29:40,377 INFO L290 TraceCheckUtils]: 27: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-28 07:29:40,378 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-28 07:29:40,378 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-28 07:29:40,379 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-28 07:29:40,379 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-28 07:29:40,380 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-28 07:29:40,382 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-28 07:29:40,382 INFO L290 TraceCheckUtils]: 34: Hoare triple {1548#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1552#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:29:40,382 INFO L290 TraceCheckUtils]: 35: Hoare triple {1552#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1439#false} is VALID [2022-04-28 07:29:40,382 INFO L290 TraceCheckUtils]: 36: Hoare triple {1439#false} assume !false; {1439#false} is VALID [2022-04-28 07:29:40,382 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-28 07:29:40,383 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:30:15,161 INFO L290 TraceCheckUtils]: 36: Hoare triple {1439#false} assume !false; {1439#false} is VALID [2022-04-28 07:30:15,162 INFO L290 TraceCheckUtils]: 35: Hoare triple {1552#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1439#false} is VALID [2022-04-28 07:30:15,162 INFO L290 TraceCheckUtils]: 34: Hoare triple {1548#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1552#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:30:15,163 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-28 07:30:15,163 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-28 07:30:15,167 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-28 07:30:15,168 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-28 07:30:15,169 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-28 07:30:15,169 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-28 07:30:15,170 INFO L290 TraceCheckUtils]: 27: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-28 07:30:15,170 INFO L290 TraceCheckUtils]: 26: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-28 07:30:15,170 INFO L290 TraceCheckUtils]: 25: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-28 07:30:15,170 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-28 07:30:15,171 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-28 07:30:15,173 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-28 07:30:15,173 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-28 07:30:15,174 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-28 07:30:15,174 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-28 07:30:15,175 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-28 07:30:15,175 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-28 07:30:15,175 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1438#true} {1438#true} #63#return; {1438#true} is VALID [2022-04-28 07:30:15,175 INFO L290 TraceCheckUtils]: 15: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-28 07:30:15,175 INFO L290 TraceCheckUtils]: 14: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-28 07:30:15,175 INFO L290 TraceCheckUtils]: 13: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-28 07:30:15,175 INFO L272 TraceCheckUtils]: 12: Hoare triple {1438#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {1438#true} is VALID [2022-04-28 07:30:15,175 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-28 07:30:15,175 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1438#true} {1438#true} #61#return; {1438#true} is VALID [2022-04-28 07:30:15,175 INFO L290 TraceCheckUtils]: 9: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-28 07:30:15,176 INFO L290 TraceCheckUtils]: 8: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-28 07:30:15,176 INFO L290 TraceCheckUtils]: 7: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-28 07:30:15,176 INFO L272 TraceCheckUtils]: 6: Hoare triple {1438#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {1438#true} is VALID [2022-04-28 07:30:15,176 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-28 07:30:15,176 INFO L272 TraceCheckUtils]: 4: Hoare triple {1438#true} call #t~ret6 := main(); {1438#true} is VALID [2022-04-28 07:30:15,176 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1438#true} {1438#true} #71#return; {1438#true} is VALID [2022-04-28 07:30:15,176 INFO L290 TraceCheckUtils]: 2: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-28 07:30:15,176 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-28 07:30:15,176 INFO L272 TraceCheckUtils]: 0: Hoare triple {1438#true} call ULTIMATE.init(); {1438#true} is VALID [2022-04-28 07:30:15,177 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-28 07:30:15,177 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:30:15,177 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1424639353] [2022-04-28 07:30:15,177 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:30:15,177 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [372727813] [2022-04-28 07:30:15,177 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [372727813] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:30:15,177 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:30:15,177 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 15 [2022-04-28 07:30:15,177 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:30:15,177 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [113139690] [2022-04-28 07:30:15,177 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [113139690] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:30:15,178 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:30:15,178 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 07:30:15,178 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [314789965] [2022-04-28 07:30:15,178 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:30:15,178 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-28 07:30:15,178 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:30:15,178 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-28 07:30:15,205 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-28 07:30:15,206 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 07:30:15,206 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:30:15,206 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 07:30:15,206 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=165, Unknown=0, NotChecked=0, Total=210 [2022-04-28 07:30:15,206 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-28 07:30:15,641 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:30:15,642 INFO L93 Difference]: Finished difference Result 59 states and 66 transitions. [2022-04-28 07:30:15,642 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 07:30:15,642 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-28 07:30:15,642 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:30:15,642 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-28 07:30:15,645 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 56 transitions. [2022-04-28 07:30:15,645 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-28 07:30:15,646 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 56 transitions. [2022-04-28 07:30:15,646 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 56 transitions. [2022-04-28 07:30:15,684 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-28 07:30:15,685 INFO L225 Difference]: With dead ends: 59 [2022-04-28 07:30:15,685 INFO L226 Difference]: Without dead ends: 52 [2022-04-28 07:30:15,685 INFO L412 NwaCegarLoop]: 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-28 07:30:15,699 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 19 mSDsluCounter, 106 mSDsCounter, 0 mSdLazyCounter, 178 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-28 07:30:15,699 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [21 Valid, 129 Invalid, 183 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 178 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 07:30:15,700 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-28 07:30:15,740 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 50. [2022-04-28 07:30:15,740 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:30:15,740 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-28 07:30:15,740 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-28 07:30:15,740 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-28 07:30:15,742 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:30:15,742 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2022-04-28 07:30:15,742 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2022-04-28 07:30:15,742 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:30:15,742 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:30:15,742 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-28 07:30:15,743 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-28 07:30:15,744 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:30:15,744 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2022-04-28 07:30:15,744 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2022-04-28 07:30:15,744 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:30:15,744 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:30:15,744 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:30:15,744 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:30:15,745 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-28 07:30:15,746 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-28 07:30:15,746 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 37 [2022-04-28 07:30:15,746 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:30:15,746 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-28 07:30:15,746 INFO L496 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-28 07:30:15,746 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-28 07:30:15,957 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-28 07:30:15,957 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-28 07:30:15,958 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 07:30:15,958 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:30:15,958 INFO L195 NwaCegarLoop]: 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-28 07:30:15,974 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-28 07:30:16,158 WARN L477 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-28 07:30:16,158 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:30:16,159 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:30:16,159 INFO L85 PathProgramCache]: Analyzing trace with hash -1351630086, now seen corresponding path program 1 times [2022-04-28 07:30:16,159 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:30:16,159 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [353972243] [2022-04-28 07:30:16,159 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:30:16,159 INFO L85 PathProgramCache]: Analyzing trace with hash -1351630086, now seen corresponding path program 2 times [2022-04-28 07:30:16,160 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:30:16,160 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1762274614] [2022-04-28 07:30:16,160 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:30:16,160 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:30:16,172 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:30:16,172 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [592197798] [2022-04-28 07:30:16,172 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:30:16,172 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:30:16,172 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:30:16,173 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-28 07:30:16,174 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-28 07:30:16,207 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:30:16,208 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:30:16,208 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 07:30:16,213 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:30:16,214 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:30:21,551 INFO L272 TraceCheckUtils]: 0: Hoare triple {2000#true} call ULTIMATE.init(); {2000#true} is VALID [2022-04-28 07:30:21,551 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-28 07:30:21,551 INFO L290 TraceCheckUtils]: 2: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 07:30:21,552 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2000#true} {2000#true} #71#return; {2000#true} is VALID [2022-04-28 07:30:21,552 INFO L272 TraceCheckUtils]: 4: Hoare triple {2000#true} call #t~ret6 := main(); {2000#true} is VALID [2022-04-28 07:30:21,552 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-28 07:30:21,552 INFO L272 TraceCheckUtils]: 6: Hoare triple {2000#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {2000#true} is VALID [2022-04-28 07:30:21,552 INFO L290 TraceCheckUtils]: 7: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-28 07:30:21,552 INFO L290 TraceCheckUtils]: 8: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-28 07:30:21,552 INFO L290 TraceCheckUtils]: 9: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 07:30:21,552 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2000#true} {2000#true} #61#return; {2000#true} is VALID [2022-04-28 07:30:21,552 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-28 07:30:21,552 INFO L272 TraceCheckUtils]: 12: Hoare triple {2000#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {2000#true} is VALID [2022-04-28 07:30:21,552 INFO L290 TraceCheckUtils]: 13: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-28 07:30:21,553 INFO L290 TraceCheckUtils]: 14: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-28 07:30:21,553 INFO L290 TraceCheckUtils]: 15: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 07:30:21,553 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2000#true} {2000#true} #63#return; {2000#true} is VALID [2022-04-28 07:30:21,553 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-28 07:30:21,553 INFO L290 TraceCheckUtils]: 18: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-28 07:30:21,553 INFO L290 TraceCheckUtils]: 19: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-28 07:30:21,553 INFO L290 TraceCheckUtils]: 20: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 07:30:21,553 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2000#true} {2000#true} #65#return; {2000#true} is VALID [2022-04-28 07:30:21,553 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-28 07:30:21,553 INFO L290 TraceCheckUtils]: 23: Hoare triple {2000#true} assume !false; {2000#true} is VALID [2022-04-28 07:30:21,553 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-28 07:30:21,554 INFO L290 TraceCheckUtils]: 25: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-28 07:30:21,554 INFO L290 TraceCheckUtils]: 26: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-28 07:30:21,554 INFO L290 TraceCheckUtils]: 27: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 07:30:21,554 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2000#true} {2000#true} #67#return; {2000#true} is VALID [2022-04-28 07:30:21,554 INFO L290 TraceCheckUtils]: 29: Hoare triple {2000#true} assume !!(0 != ~y~0); {2000#true} is VALID [2022-04-28 07:30:21,554 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-28 07:30:21,554 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-28 07:30:21,554 INFO L290 TraceCheckUtils]: 32: Hoare triple {2000#true} assume !false; {2000#true} is VALID [2022-04-28 07:30:21,554 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-28 07:30:21,555 INFO L290 TraceCheckUtils]: 34: Hoare triple {2000#true} ~cond := #in~cond; {2107#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:30:21,555 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-28 07:30:21,555 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-28 07:30:23,558 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-28 07:30:23,559 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-28 07:30:23,559 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-28 07:30:23,560 INFO L290 TraceCheckUtils]: 40: Hoare triple {2126#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2130#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:30:23,560 INFO L290 TraceCheckUtils]: 41: Hoare triple {2130#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2001#false} is VALID [2022-04-28 07:30:23,560 INFO L290 TraceCheckUtils]: 42: Hoare triple {2001#false} assume !false; {2001#false} is VALID [2022-04-28 07:30:23,560 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-28 07:30:23,560 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:30:36,944 INFO L290 TraceCheckUtils]: 42: Hoare triple {2001#false} assume !false; {2001#false} is VALID [2022-04-28 07:30:36,944 INFO L290 TraceCheckUtils]: 41: Hoare triple {2130#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2001#false} is VALID [2022-04-28 07:30:36,945 INFO L290 TraceCheckUtils]: 40: Hoare triple {2126#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2130#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:30:36,945 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-28 07:30:36,945 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-28 07:30:36,946 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-28 07:30:36,946 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-28 07:30:36,947 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-28 07:30:36,947 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-28 07:30:36,947 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-28 07:30:36,947 INFO L290 TraceCheckUtils]: 32: Hoare triple {2000#true} assume !false; {2000#true} is VALID [2022-04-28 07:30:36,947 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-28 07:30:36,948 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-28 07:30:36,948 INFO L290 TraceCheckUtils]: 29: Hoare triple {2000#true} assume !!(0 != ~y~0); {2000#true} is VALID [2022-04-28 07:30:36,948 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2000#true} {2000#true} #67#return; {2000#true} is VALID [2022-04-28 07:30:36,948 INFO L290 TraceCheckUtils]: 27: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 07:30:36,948 INFO L290 TraceCheckUtils]: 26: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-28 07:30:36,948 INFO L290 TraceCheckUtils]: 25: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-28 07:30:36,948 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-28 07:30:36,948 INFO L290 TraceCheckUtils]: 23: Hoare triple {2000#true} assume !false; {2000#true} is VALID [2022-04-28 07:30:36,948 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-28 07:30:36,948 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2000#true} {2000#true} #65#return; {2000#true} is VALID [2022-04-28 07:30:36,948 INFO L290 TraceCheckUtils]: 20: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 07:30:36,948 INFO L290 TraceCheckUtils]: 19: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-28 07:30:36,949 INFO L290 TraceCheckUtils]: 18: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-28 07:30:36,949 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-28 07:30:36,949 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2000#true} {2000#true} #63#return; {2000#true} is VALID [2022-04-28 07:30:36,949 INFO L290 TraceCheckUtils]: 15: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 07:30:36,949 INFO L290 TraceCheckUtils]: 14: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-28 07:30:36,949 INFO L290 TraceCheckUtils]: 13: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-28 07:30:36,949 INFO L272 TraceCheckUtils]: 12: Hoare triple {2000#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {2000#true} is VALID [2022-04-28 07:30:36,949 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-28 07:30:36,949 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2000#true} {2000#true} #61#return; {2000#true} is VALID [2022-04-28 07:30:36,949 INFO L290 TraceCheckUtils]: 9: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 07:30:36,949 INFO L290 TraceCheckUtils]: 8: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-28 07:30:36,950 INFO L290 TraceCheckUtils]: 7: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-28 07:30:36,950 INFO L272 TraceCheckUtils]: 6: Hoare triple {2000#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {2000#true} is VALID [2022-04-28 07:30:36,950 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-28 07:30:36,950 INFO L272 TraceCheckUtils]: 4: Hoare triple {2000#true} call #t~ret6 := main(); {2000#true} is VALID [2022-04-28 07:30:36,950 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2000#true} {2000#true} #71#return; {2000#true} is VALID [2022-04-28 07:30:36,950 INFO L290 TraceCheckUtils]: 2: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 07:30:36,950 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-28 07:30:36,950 INFO L272 TraceCheckUtils]: 0: Hoare triple {2000#true} call ULTIMATE.init(); {2000#true} is VALID [2022-04-28 07:30:36,950 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-28 07:30:36,950 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:30:36,951 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1762274614] [2022-04-28 07:30:36,951 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:30:36,951 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [592197798] [2022-04-28 07:30:36,951 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [592197798] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:30:36,951 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:30:36,951 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-28 07:30:36,951 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:30:36,951 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [353972243] [2022-04-28 07:30:36,951 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [353972243] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:30:36,951 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:30:36,951 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 07:30:36,951 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [571788270] [2022-04-28 07:30:36,951 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:30:36,952 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-28 07:30:36,952 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:30:36,952 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-28 07:30:38,976 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-28 07:30:38,976 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 07:30:38,976 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:30:38,976 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 07:30:38,976 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-28 07:30:38,977 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-28 07:30:41,021 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-28 07:30:41,359 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:30:41,359 INFO L93 Difference]: Finished difference Result 57 states and 61 transitions. [2022-04-28 07:30:41,359 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 07:30:41,359 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-28 07:30:41,359 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:30:41,359 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-28 07:30:41,360 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 37 transitions. [2022-04-28 07:30:41,360 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-28 07:30:41,361 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 37 transitions. [2022-04-28 07:30:41,361 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 37 transitions. [2022-04-28 07:30:43,395 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-28 07:30:43,396 INFO L225 Difference]: With dead ends: 57 [2022-04-28 07:30:43,396 INFO L226 Difference]: Without dead ends: 50 [2022-04-28 07:30:43,397 INFO L412 NwaCegarLoop]: 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-28 07:30:43,397 INFO L413 NwaCegarLoop]: 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-28 07:30:43,397 INFO L414 NwaCegarLoop]: 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-28 07:30:43,398 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-28 07:30:43,422 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 41. [2022-04-28 07:30:43,422 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:30:43,422 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-28 07:30:43,422 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-28 07:30:43,422 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-28 07:30:43,424 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:30:43,424 INFO L93 Difference]: Finished difference Result 50 states and 54 transitions. [2022-04-28 07:30:43,424 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-28 07:30:43,424 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:30:43,424 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:30:43,424 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-28 07:30:43,424 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-28 07:30:43,425 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:30:43,426 INFO L93 Difference]: Finished difference Result 50 states and 54 transitions. [2022-04-28 07:30:43,426 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-28 07:30:43,426 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:30:43,426 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:30:43,426 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:30:43,426 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:30:43,426 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-28 07:30:43,427 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 45 transitions. [2022-04-28 07:30:43,427 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 45 transitions. Word has length 43 [2022-04-28 07:30:43,427 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:30:43,427 INFO L495 AbstractCegarLoop]: Abstraction has 41 states and 45 transitions. [2022-04-28 07:30:43,428 INFO L496 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-28 07:30:43,428 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 45 transitions. [2022-04-28 07:30:49,543 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-28 07:30:49,544 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 45 transitions. [2022-04-28 07:30:49,544 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 07:30:49,544 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:30:49,544 INFO L195 NwaCegarLoop]: 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-28 07:30:49,563 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-28 07:30:49,744 WARN L477 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-28 07:30:49,747 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:30:49,747 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:30:49,747 INFO L85 PathProgramCache]: Analyzing trace with hash 1025268728, now seen corresponding path program 3 times [2022-04-28 07:30:49,747 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:30:49,747 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [44531117] [2022-04-28 07:30:49,748 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:30:49,748 INFO L85 PathProgramCache]: Analyzing trace with hash 1025268728, now seen corresponding path program 4 times [2022-04-28 07:30:49,748 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:30:49,748 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2133817967] [2022-04-28 07:30:49,748 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:30:49,748 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:30:49,765 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:30:49,765 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [849026853] [2022-04-28 07:30:49,765 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 07:30:49,765 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:30:49,766 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:30:49,766 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-28 07:30:49,767 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-28 07:30:49,799 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 07:30:49,799 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:30:49,800 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-28 07:30:49,813 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:30:49,814 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:31:12,303 INFO L272 TraceCheckUtils]: 0: Hoare triple {2567#true} call ULTIMATE.init(); {2567#true} is VALID [2022-04-28 07:31:12,303 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-28 07:31:12,303 INFO L290 TraceCheckUtils]: 2: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-28 07:31:12,303 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2567#true} {2567#true} #71#return; {2567#true} is VALID [2022-04-28 07:31:12,304 INFO L272 TraceCheckUtils]: 4: Hoare triple {2567#true} call #t~ret6 := main(); {2567#true} is VALID [2022-04-28 07:31:12,304 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-28 07:31:12,304 INFO L272 TraceCheckUtils]: 6: Hoare triple {2567#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {2567#true} is VALID [2022-04-28 07:31:12,304 INFO L290 TraceCheckUtils]: 7: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-28 07:31:12,304 INFO L290 TraceCheckUtils]: 8: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-28 07:31:12,304 INFO L290 TraceCheckUtils]: 9: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-28 07:31:12,304 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2567#true} {2567#true} #61#return; {2567#true} is VALID [2022-04-28 07:31:12,304 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-28 07:31:12,304 INFO L272 TraceCheckUtils]: 12: Hoare triple {2567#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {2567#true} is VALID [2022-04-28 07:31:12,304 INFO L290 TraceCheckUtils]: 13: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-28 07:31:12,304 INFO L290 TraceCheckUtils]: 14: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-28 07:31:12,304 INFO L290 TraceCheckUtils]: 15: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-28 07:31:12,305 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2567#true} {2567#true} #63#return; {2567#true} is VALID [2022-04-28 07:31:12,305 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-28 07:31:12,305 INFO L290 TraceCheckUtils]: 18: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-28 07:31:12,305 INFO L290 TraceCheckUtils]: 19: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-28 07:31:12,305 INFO L290 TraceCheckUtils]: 20: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-28 07:31:12,305 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2567#true} {2567#true} #65#return; {2567#true} is VALID [2022-04-28 07:31:12,305 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-28 07:31:12,306 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-28 07:31:12,306 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-28 07:31:12,306 INFO L290 TraceCheckUtils]: 25: Hoare triple {2567#true} ~cond := #in~cond; {2648#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:31:12,306 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-28 07:31:12,307 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-28 07:31:12,307 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-28 07:31:12,307 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-28 07:31:12,308 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-28 07:31:12,309 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-28 07:31:12,309 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-28 07:31:12,310 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-28 07:31:12,310 INFO L290 TraceCheckUtils]: 34: Hoare triple {2567#true} ~cond := #in~cond; {2648#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:31:12,310 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-28 07:31:12,311 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-28 07:31:12,311 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; {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-28 07:31:12,312 INFO L290 TraceCheckUtils]: 38: 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 !!(0 != ~y~0); {2692#(and (not (= main_~y~0 0)) (= 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-28 07:31:12,313 INFO L290 TraceCheckUtils]: 39: Hoare triple {2692#(and (not (= main_~y~0 0)) (= 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 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; {2696#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 1 (mod main_~b~0 2)) (= (+ main_~a~0 main_~x~0) main_~z~0) (= (* main_~a~0 2) main_~x~0) (= (div (+ (- 1) main_~b~0) 2) (+ main_~y~0 1)) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 07:31:12,314 INFO L290 TraceCheckUtils]: 40: Hoare triple {2696#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 1 (mod main_~b~0 2)) (= (+ main_~a~0 main_~x~0) main_~z~0) (= (* main_~a~0 2) main_~x~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); {2700#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (= (* main_~a~0 2) (+ (* (- 1) main_~a~0) main_~z~0)) (<= 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) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)))} is VALID [2022-04-28 07:31:12,315 INFO L290 TraceCheckUtils]: 41: Hoare triple {2700#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (= (* main_~a~0 2) (+ (* (- 1) main_~a~0) main_~z~0)) (<= 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) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)))} assume !false; {2700#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (= (* main_~a~0 2) (+ (* (- 1) main_~a~0) main_~z~0)) (<= 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) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)))} is VALID [2022-04-28 07:31:12,678 INFO L272 TraceCheckUtils]: 42: Hoare triple {2700#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (= (* main_~a~0 2) (+ (* (- 1) main_~a~0) main_~z~0)) (<= 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) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2707#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:31:12,679 INFO L290 TraceCheckUtils]: 43: Hoare triple {2707#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2711#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:31:12,679 INFO L290 TraceCheckUtils]: 44: Hoare triple {2711#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2568#false} is VALID [2022-04-28 07:31:12,679 INFO L290 TraceCheckUtils]: 45: Hoare triple {2568#false} assume !false; {2568#false} is VALID [2022-04-28 07:31:12,679 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-28 07:31:12,679 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:32:15,617 INFO L290 TraceCheckUtils]: 45: Hoare triple {2568#false} assume !false; {2568#false} is VALID [2022-04-28 07:32:15,618 INFO L290 TraceCheckUtils]: 44: Hoare triple {2711#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2568#false} is VALID [2022-04-28 07:32:15,618 INFO L290 TraceCheckUtils]: 43: Hoare triple {2707#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2711#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:32:15,619 INFO L272 TraceCheckUtils]: 42: Hoare triple {2727#(= (+ 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)); {2707#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:32:15,619 INFO L290 TraceCheckUtils]: 41: Hoare triple {2727#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {2727#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:32:15,645 INFO L290 TraceCheckUtils]: 40: Hoare triple {2734#(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); {2727#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:32:15,647 INFO L290 TraceCheckUtils]: 39: Hoare triple {2738#(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; {2734#(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-28 07:32:15,648 INFO L290 TraceCheckUtils]: 38: Hoare triple {2738#(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); {2738#(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-28 07:32:15,837 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} {2567#true} #67#return; {2738#(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-28 07:32:15,837 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-28 07:32:15,838 INFO L290 TraceCheckUtils]: 35: Hoare triple {2754#(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-28 07:32:15,838 INFO L290 TraceCheckUtils]: 34: Hoare triple {2567#true} ~cond := #in~cond; {2754#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:32:15,838 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-28 07:32:15,838 INFO L290 TraceCheckUtils]: 32: Hoare triple {2567#true} assume !false; {2567#true} is VALID [2022-04-28 07:32:15,838 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-28 07:32:15,838 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-28 07:32:15,839 INFO L290 TraceCheckUtils]: 29: Hoare triple {2567#true} assume !!(0 != ~y~0); {2567#true} is VALID [2022-04-28 07:32:15,839 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2567#true} {2567#true} #67#return; {2567#true} is VALID [2022-04-28 07:32:15,839 INFO L290 TraceCheckUtils]: 27: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-28 07:32:15,839 INFO L290 TraceCheckUtils]: 26: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-28 07:32:15,839 INFO L290 TraceCheckUtils]: 25: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-28 07:32:15,839 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-28 07:32:15,839 INFO L290 TraceCheckUtils]: 23: Hoare triple {2567#true} assume !false; {2567#true} is VALID [2022-04-28 07:32:15,839 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-28 07:32:15,839 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2567#true} {2567#true} #65#return; {2567#true} is VALID [2022-04-28 07:32:15,839 INFO L290 TraceCheckUtils]: 20: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-28 07:32:15,839 INFO L290 TraceCheckUtils]: 19: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-28 07:32:15,839 INFO L290 TraceCheckUtils]: 18: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-28 07:32:15,839 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-28 07:32:15,852 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2567#true} {2567#true} #63#return; {2567#true} is VALID [2022-04-28 07:32:15,852 INFO L290 TraceCheckUtils]: 15: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-28 07:32:15,852 INFO L290 TraceCheckUtils]: 14: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-28 07:32:15,852 INFO L290 TraceCheckUtils]: 13: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-28 07:32:15,852 INFO L272 TraceCheckUtils]: 12: Hoare triple {2567#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {2567#true} is VALID [2022-04-28 07:32:15,853 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-28 07:32:15,853 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2567#true} {2567#true} #61#return; {2567#true} is VALID [2022-04-28 07:32:15,853 INFO L290 TraceCheckUtils]: 9: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-28 07:32:15,853 INFO L290 TraceCheckUtils]: 8: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-28 07:32:15,853 INFO L290 TraceCheckUtils]: 7: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-28 07:32:15,853 INFO L272 TraceCheckUtils]: 6: Hoare triple {2567#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {2567#true} is VALID [2022-04-28 07:32:15,853 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-28 07:32:15,853 INFO L272 TraceCheckUtils]: 4: Hoare triple {2567#true} call #t~ret6 := main(); {2567#true} is VALID [2022-04-28 07:32:15,853 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2567#true} {2567#true} #71#return; {2567#true} is VALID [2022-04-28 07:32:15,853 INFO L290 TraceCheckUtils]: 2: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-28 07:32:15,853 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-28 07:32:15,853 INFO L272 TraceCheckUtils]: 0: Hoare triple {2567#true} call ULTIMATE.init(); {2567#true} is VALID [2022-04-28 07:32:15,854 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-28 07:32:15,854 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:32:15,854 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2133817967] [2022-04-28 07:32:15,854 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:32:15,854 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [849026853] [2022-04-28 07:32:15,854 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [849026853] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:32:15,854 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:32:15,854 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9] total 17 [2022-04-28 07:32:15,854 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:32:15,854 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [44531117] [2022-04-28 07:32:15,854 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [44531117] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:32:15,855 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:32:15,855 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 07:32:15,855 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1737207995] [2022-04-28 07:32:15,855 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:32:15,855 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 1.7692307692307692) 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-28 07:32:15,855 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:32:15,855 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 1.7692307692307692) 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-28 07:32:17,326 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-28 07:32:17,327 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 07:32:17,327 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:32:17,327 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 07:32:17,327 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=218, Unknown=0, NotChecked=0, Total=272 [2022-04-28 07:32:17,328 INFO L87 Difference]: Start difference. First operand 41 states and 45 transitions. Second operand has 13 states, 13 states have (on average 1.7692307692307692) 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-28 07:32:19,354 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.17s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:32:22,176 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.23s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:32:28,634 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:32:45,117 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.97s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:32:47,119 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-28 07:32:52,923 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.13s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:32:53,062 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:32:53,062 INFO L93 Difference]: Finished difference Result 63 states and 69 transitions. [2022-04-28 07:32:53,062 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 07:32:53,062 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 1.7692307692307692) 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-28 07:32:53,062 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:32:53,062 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 1.7692307692307692) 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-28 07:32:53,063 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 57 transitions. [2022-04-28 07:32:53,063 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 1.7692307692307692) 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-28 07:32:53,064 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 57 transitions. [2022-04-28 07:32:53,064 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 57 transitions. [2022-04-28 07:32:56,470 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-28 07:32:56,471 INFO L225 Difference]: With dead ends: 63 [2022-04-28 07:32:56,471 INFO L226 Difference]: Without dead ends: 61 [2022-04-28 07:32:56,471 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 73 SyntacticMatches, 3 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 48 ImplicationChecksByTransitivity, 13.1s TimeCoverageRelationStatistics Valid=67, Invalid=275, Unknown=0, NotChecked=0, Total=342 [2022-04-28 07:32:56,480 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 19 mSDsluCounter, 158 mSDsCounter, 0 mSdLazyCounter, 253 mSolverCounterSat, 5 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 16.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 183 SdHoareTripleChecker+Invalid, 259 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 253 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 16.2s IncrementalHoareTripleChecker+Time [2022-04-28 07:32:56,480 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [20 Valid, 183 Invalid, 259 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 253 Invalid, 1 Unknown, 0 Unchecked, 16.2s Time] [2022-04-28 07:32:56,481 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2022-04-28 07:32:56,522 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 50. [2022-04-28 07:32:56,522 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:32:56,522 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 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-28 07:32:56,523 INFO L74 IsIncluded]: Start isIncluded. First operand 61 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-28 07:32:56,523 INFO L87 Difference]: Start difference. First operand 61 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-28 07:32:56,524 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:32:56,524 INFO L93 Difference]: Finished difference Result 61 states and 67 transitions. [2022-04-28 07:32:56,524 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 67 transitions. [2022-04-28 07:32:56,524 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:32:56,524 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:32:56,525 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 61 states. [2022-04-28 07:32:56,525 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 61 states. [2022-04-28 07:32:56,526 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:32:56,526 INFO L93 Difference]: Finished difference Result 61 states and 67 transitions. [2022-04-28 07:32:56,526 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 67 transitions. [2022-04-28 07:32:56,526 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:32:56,526 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:32:56,526 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:32:56,526 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:32:56,527 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-28 07:32:56,528 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-28 07:32:56,528 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 46 [2022-04-28 07:32:56,528 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:32:56,528 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-28 07:32:56,528 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 1.7692307692307692) 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-28 07:32:56,528 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-28 07:33:06,757 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-28 07:33:06,758 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-28 07:33:06,758 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 07:33:06,758 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:33:06,758 INFO L195 NwaCegarLoop]: 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-28 07:33:06,774 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-28 07:33:06,971 WARN L477 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-28 07:33:06,973 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:33:06,974 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:33:06,974 INFO L85 PathProgramCache]: Analyzing trace with hash -1494691206, now seen corresponding path program 1 times [2022-04-28 07:33:06,974 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:33:06,974 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [601382220] [2022-04-28 07:33:06,974 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:33:06,974 INFO L85 PathProgramCache]: Analyzing trace with hash -1494691206, now seen corresponding path program 2 times [2022-04-28 07:33:06,974 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:33:06,974 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1311688486] [2022-04-28 07:33:06,974 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:33:06,975 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:33:06,985 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:33:06,985 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1531540094] [2022-04-28 07:33:06,985 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:33:06,985 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:33:06,986 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:33:06,986 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-28 07:33:06,987 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-28 07:33:07,024 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:33:07,024 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:33:07,025 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-28 07:33:07,044 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:33:07,045 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:33:10,949 INFO L272 TraceCheckUtils]: 0: Hoare triple {3211#true} call ULTIMATE.init(); {3211#true} is VALID [2022-04-28 07:33:10,949 INFO L290 TraceCheckUtils]: 1: Hoare triple {3211#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); {3211#true} is VALID [2022-04-28 07:33:10,949 INFO L290 TraceCheckUtils]: 2: Hoare triple {3211#true} assume true; {3211#true} is VALID [2022-04-28 07:33:10,949 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3211#true} {3211#true} #71#return; {3211#true} is VALID [2022-04-28 07:33:10,949 INFO L272 TraceCheckUtils]: 4: Hoare triple {3211#true} call #t~ret6 := main(); {3211#true} is VALID [2022-04-28 07:33:10,950 INFO L290 TraceCheckUtils]: 5: Hoare triple {3211#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; {3211#true} is VALID [2022-04-28 07:33:10,950 INFO L272 TraceCheckUtils]: 6: Hoare triple {3211#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {3211#true} is VALID [2022-04-28 07:33:10,950 INFO L290 TraceCheckUtils]: 7: Hoare triple {3211#true} ~cond := #in~cond; {3211#true} is VALID [2022-04-28 07:33:10,950 INFO L290 TraceCheckUtils]: 8: Hoare triple {3211#true} assume !(0 == ~cond); {3211#true} is VALID [2022-04-28 07:33:10,950 INFO L290 TraceCheckUtils]: 9: Hoare triple {3211#true} assume true; {3211#true} is VALID [2022-04-28 07:33:10,950 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3211#true} {3211#true} #61#return; {3211#true} is VALID [2022-04-28 07:33:10,950 INFO L290 TraceCheckUtils]: 11: Hoare triple {3211#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3211#true} is VALID [2022-04-28 07:33:10,950 INFO L272 TraceCheckUtils]: 12: Hoare triple {3211#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {3211#true} is VALID [2022-04-28 07:33:10,950 INFO L290 TraceCheckUtils]: 13: Hoare triple {3211#true} ~cond := #in~cond; {3211#true} is VALID [2022-04-28 07:33:10,950 INFO L290 TraceCheckUtils]: 14: Hoare triple {3211#true} assume !(0 == ~cond); {3211#true} is VALID [2022-04-28 07:33:10,950 INFO L290 TraceCheckUtils]: 15: Hoare triple {3211#true} assume true; {3211#true} is VALID [2022-04-28 07:33:10,950 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3211#true} {3211#true} #63#return; {3211#true} is VALID [2022-04-28 07:33:10,950 INFO L272 TraceCheckUtils]: 17: Hoare triple {3211#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3211#true} is VALID [2022-04-28 07:33:10,951 INFO L290 TraceCheckUtils]: 18: Hoare triple {3211#true} ~cond := #in~cond; {3211#true} is VALID [2022-04-28 07:33:10,951 INFO L290 TraceCheckUtils]: 19: Hoare triple {3211#true} assume !(0 == ~cond); {3211#true} is VALID [2022-04-28 07:33:10,951 INFO L290 TraceCheckUtils]: 20: Hoare triple {3211#true} assume true; {3211#true} is VALID [2022-04-28 07:33:10,951 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3211#true} {3211#true} #65#return; {3211#true} is VALID [2022-04-28 07:33:10,951 INFO L290 TraceCheckUtils]: 22: Hoare triple {3211#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3282#(= main_~b~0 main_~y~0)} is VALID [2022-04-28 07:33:10,951 INFO L290 TraceCheckUtils]: 23: Hoare triple {3282#(= main_~b~0 main_~y~0)} assume !false; {3282#(= main_~b~0 main_~y~0)} is VALID [2022-04-28 07:33:10,951 INFO L272 TraceCheckUtils]: 24: Hoare triple {3282#(= main_~b~0 main_~y~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3211#true} is VALID [2022-04-28 07:33:10,951 INFO L290 TraceCheckUtils]: 25: Hoare triple {3211#true} ~cond := #in~cond; {3211#true} is VALID [2022-04-28 07:33:10,952 INFO L290 TraceCheckUtils]: 26: Hoare triple {3211#true} assume !(0 == ~cond); {3211#true} is VALID [2022-04-28 07:33:10,952 INFO L290 TraceCheckUtils]: 27: Hoare triple {3211#true} assume true; {3211#true} is VALID [2022-04-28 07:33:10,952 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3211#true} {3282#(= main_~b~0 main_~y~0)} #67#return; {3282#(= main_~b~0 main_~y~0)} is VALID [2022-04-28 07:33:10,952 INFO L290 TraceCheckUtils]: 29: Hoare triple {3282#(= main_~b~0 main_~y~0)} assume !!(0 != ~y~0); {3304#(and (not (= main_~y~0 0)) (= main_~b~0 main_~y~0))} is VALID [2022-04-28 07:33:10,953 INFO L290 TraceCheckUtils]: 30: Hoare triple {3304#(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; {3308#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} is VALID [2022-04-28 07:33:10,954 INFO L290 TraceCheckUtils]: 31: Hoare triple {3308#(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); {3312#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 07:33:10,954 INFO L290 TraceCheckUtils]: 32: Hoare triple {3312#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {3312#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 07:33:10,954 INFO L272 TraceCheckUtils]: 33: Hoare triple {3312#(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)); {3211#true} is VALID [2022-04-28 07:33:10,954 INFO L290 TraceCheckUtils]: 34: Hoare triple {3211#true} ~cond := #in~cond; {3322#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:33:10,955 INFO L290 TraceCheckUtils]: 35: Hoare triple {3322#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3326#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:33:10,955 INFO L290 TraceCheckUtils]: 36: Hoare triple {3326#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3326#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:33:10,956 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3326#(not (= |__VERIFIER_assert_#in~cond| 0))} {3312#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} #67#return; {3333#(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-28 07:33:10,956 INFO L290 TraceCheckUtils]: 38: Hoare triple {3333#(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); {3333#(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-28 07:33:10,957 INFO L290 TraceCheckUtils]: 39: Hoare triple {3333#(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)); {3340#(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-28 07:33:11,749 INFO L290 TraceCheckUtils]: 40: Hoare triple {3340#(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); {3344#(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-28 07:33:11,750 INFO L290 TraceCheckUtils]: 41: Hoare triple {3344#(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; {3344#(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-28 07:33:12,111 INFO L272 TraceCheckUtils]: 42: Hoare triple {3344#(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)); {3351#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:33:12,112 INFO L290 TraceCheckUtils]: 43: Hoare triple {3351#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3355#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:33:12,112 INFO L290 TraceCheckUtils]: 44: Hoare triple {3355#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3212#false} is VALID [2022-04-28 07:33:12,112 INFO L290 TraceCheckUtils]: 45: Hoare triple {3212#false} assume !false; {3212#false} is VALID [2022-04-28 07:33:12,112 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-28 07:33:12,112 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:33:47,195 INFO L290 TraceCheckUtils]: 45: Hoare triple {3212#false} assume !false; {3212#false} is VALID [2022-04-28 07:33:47,195 INFO L290 TraceCheckUtils]: 44: Hoare triple {3355#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3212#false} is VALID [2022-04-28 07:33:47,195 INFO L290 TraceCheckUtils]: 43: Hoare triple {3351#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3355#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:33:47,196 INFO L272 TraceCheckUtils]: 42: Hoare triple {3371#(= (+ 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)); {3351#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:33:47,196 INFO L290 TraceCheckUtils]: 41: Hoare triple {3371#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {3371#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:33:47,201 INFO L290 TraceCheckUtils]: 40: Hoare triple {3378#(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); {3371#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:33:47,201 INFO L290 TraceCheckUtils]: 39: Hoare triple {3382#(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)); {3378#(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-28 07:33:47,202 INFO L290 TraceCheckUtils]: 38: Hoare triple {3382#(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); {3382#(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-28 07:33:47,204 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3326#(not (= |__VERIFIER_assert_#in~cond| 0))} {3389#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} #67#return; {3382#(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-28 07:33:47,205 INFO L290 TraceCheckUtils]: 36: Hoare triple {3326#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3326#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:33:47,205 INFO L290 TraceCheckUtils]: 35: Hoare triple {3399#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3326#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:33:47,205 INFO L290 TraceCheckUtils]: 34: Hoare triple {3211#true} ~cond := #in~cond; {3399#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:33:47,205 INFO L272 TraceCheckUtils]: 33: Hoare triple {3389#(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)); {3211#true} is VALID [2022-04-28 07:33:47,206 INFO L290 TraceCheckUtils]: 32: Hoare triple {3389#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} assume !false; {3389#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-28 07:33:47,208 INFO L290 TraceCheckUtils]: 31: Hoare triple {3409#(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); {3389#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-28 07:33:47,209 INFO L290 TraceCheckUtils]: 30: Hoare triple {3211#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; {3409#(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-28 07:33:47,209 INFO L290 TraceCheckUtils]: 29: Hoare triple {3211#true} assume !!(0 != ~y~0); {3211#true} is VALID [2022-04-28 07:33:47,209 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3211#true} {3211#true} #67#return; {3211#true} is VALID [2022-04-28 07:33:47,209 INFO L290 TraceCheckUtils]: 27: Hoare triple {3211#true} assume true; {3211#true} is VALID [2022-04-28 07:33:47,209 INFO L290 TraceCheckUtils]: 26: Hoare triple {3211#true} assume !(0 == ~cond); {3211#true} is VALID [2022-04-28 07:33:47,209 INFO L290 TraceCheckUtils]: 25: Hoare triple {3211#true} ~cond := #in~cond; {3211#true} is VALID [2022-04-28 07:33:47,209 INFO L272 TraceCheckUtils]: 24: Hoare triple {3211#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3211#true} is VALID [2022-04-28 07:33:47,210 INFO L290 TraceCheckUtils]: 23: Hoare triple {3211#true} assume !false; {3211#true} is VALID [2022-04-28 07:33:47,210 INFO L290 TraceCheckUtils]: 22: Hoare triple {3211#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3211#true} is VALID [2022-04-28 07:33:47,210 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3211#true} {3211#true} #65#return; {3211#true} is VALID [2022-04-28 07:33:47,210 INFO L290 TraceCheckUtils]: 20: Hoare triple {3211#true} assume true; {3211#true} is VALID [2022-04-28 07:33:47,210 INFO L290 TraceCheckUtils]: 19: Hoare triple {3211#true} assume !(0 == ~cond); {3211#true} is VALID [2022-04-28 07:33:47,210 INFO L290 TraceCheckUtils]: 18: Hoare triple {3211#true} ~cond := #in~cond; {3211#true} is VALID [2022-04-28 07:33:47,210 INFO L272 TraceCheckUtils]: 17: Hoare triple {3211#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3211#true} is VALID [2022-04-28 07:33:47,210 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3211#true} {3211#true} #63#return; {3211#true} is VALID [2022-04-28 07:33:47,210 INFO L290 TraceCheckUtils]: 15: Hoare triple {3211#true} assume true; {3211#true} is VALID [2022-04-28 07:33:47,210 INFO L290 TraceCheckUtils]: 14: Hoare triple {3211#true} assume !(0 == ~cond); {3211#true} is VALID [2022-04-28 07:33:47,210 INFO L290 TraceCheckUtils]: 13: Hoare triple {3211#true} ~cond := #in~cond; {3211#true} is VALID [2022-04-28 07:33:47,210 INFO L272 TraceCheckUtils]: 12: Hoare triple {3211#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {3211#true} is VALID [2022-04-28 07:33:47,210 INFO L290 TraceCheckUtils]: 11: Hoare triple {3211#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3211#true} is VALID [2022-04-28 07:33:47,211 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3211#true} {3211#true} #61#return; {3211#true} is VALID [2022-04-28 07:33:47,211 INFO L290 TraceCheckUtils]: 9: Hoare triple {3211#true} assume true; {3211#true} is VALID [2022-04-28 07:33:47,211 INFO L290 TraceCheckUtils]: 8: Hoare triple {3211#true} assume !(0 == ~cond); {3211#true} is VALID [2022-04-28 07:33:47,211 INFO L290 TraceCheckUtils]: 7: Hoare triple {3211#true} ~cond := #in~cond; {3211#true} is VALID [2022-04-28 07:33:47,211 INFO L272 TraceCheckUtils]: 6: Hoare triple {3211#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {3211#true} is VALID [2022-04-28 07:33:47,211 INFO L290 TraceCheckUtils]: 5: Hoare triple {3211#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; {3211#true} is VALID [2022-04-28 07:33:47,211 INFO L272 TraceCheckUtils]: 4: Hoare triple {3211#true} call #t~ret6 := main(); {3211#true} is VALID [2022-04-28 07:33:47,211 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3211#true} {3211#true} #71#return; {3211#true} is VALID [2022-04-28 07:33:47,211 INFO L290 TraceCheckUtils]: 2: Hoare triple {3211#true} assume true; {3211#true} is VALID [2022-04-28 07:33:47,211 INFO L290 TraceCheckUtils]: 1: Hoare triple {3211#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); {3211#true} is VALID [2022-04-28 07:33:47,211 INFO L272 TraceCheckUtils]: 0: Hoare triple {3211#true} call ULTIMATE.init(); {3211#true} is VALID [2022-04-28 07:33:47,212 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-28 07:33:47,212 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:33:47,212 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1311688486] [2022-04-28 07:33:47,212 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:33:47,212 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1531540094] [2022-04-28 07:33:47,212 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1531540094] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:33:47,212 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:33:47,212 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 11] total 19 [2022-04-28 07:33:47,212 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:33:47,212 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [601382220] [2022-04-28 07:33:47,212 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [601382220] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:33:47,212 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:33:47,213 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 07:33:47,213 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [145369548] [2022-04-28 07:33:47,213 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:33:47,213 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-28 07:33:47,213 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:33:47,213 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-28 07:33:49,257 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-28 07:33:49,257 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 07:33:49,257 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:33:49,258 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 07:33:49,258 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=281, Unknown=0, NotChecked=0, Total=342 [2022-04-28 07:33:49,258 INFO L87 Difference]: Start difference. First operand 50 states and 55 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-28 07:33:54,161 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.59s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:33:58,285 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-28 07:34:00,287 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-28 07:34:02,908 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.87s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:34:06,144 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:34:06,144 INFO L93 Difference]: Finished difference Result 63 states and 69 transitions. [2022-04-28 07:34:06,144 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 07:34:06,144 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-28 07:34:06,144 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:34:06,144 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-28 07:34:06,145 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-28 07:34:06,145 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-28 07:34:06,146 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-28 07:34:06,146 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 56 transitions. [2022-04-28 07:34:08,232 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-28 07:34:08,233 INFO L225 Difference]: With dead ends: 63 [2022-04-28 07:34:08,233 INFO L226 Difference]: Without dead ends: 61 [2022-04-28 07:34:08,233 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 73 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 65 ImplicationChecksByTransitivity, 2.3s TimeCoverageRelationStatistics Valid=74, Invalid=346, Unknown=0, NotChecked=0, Total=420 [2022-04-28 07:34:08,234 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 16 mSDsluCounter, 176 mSDsCounter, 0 mSdLazyCounter, 240 mSolverCounterSat, 1 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 9.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 203 SdHoareTripleChecker+Invalid, 243 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 240 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 9.6s IncrementalHoareTripleChecker+Time [2022-04-28 07:34:08,234 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 203 Invalid, 243 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 240 Invalid, 2 Unknown, 0 Unchecked, 9.6s Time] [2022-04-28 07:34:08,234 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2022-04-28 07:34:08,274 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 50. [2022-04-28 07:34:08,274 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:34:08,274 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 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-28 07:34:08,274 INFO L74 IsIncluded]: Start isIncluded. First operand 61 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-28 07:34:08,274 INFO L87 Difference]: Start difference. First operand 61 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-28 07:34:08,275 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:34:08,276 INFO L93 Difference]: Finished difference Result 61 states and 67 transitions. [2022-04-28 07:34:08,276 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 67 transitions. [2022-04-28 07:34:08,276 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:34:08,276 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:34:08,276 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 61 states. [2022-04-28 07:34:08,276 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 61 states. [2022-04-28 07:34:08,277 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:34:08,277 INFO L93 Difference]: Finished difference Result 61 states and 67 transitions. [2022-04-28 07:34:08,277 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 67 transitions. [2022-04-28 07:34:08,278 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:34:08,278 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:34:08,278 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:34:08,278 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:34:08,278 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-28 07:34:08,281 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-28 07:34:08,281 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 46 [2022-04-28 07:34:08,282 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:34:08,282 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-28 07:34:08,282 INFO L496 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-28 07:34:08,282 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-28 07:34:18,979 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 50 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-28 07:34:18,979 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-28 07:34:18,980 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 07:34:18,980 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:34:18,980 INFO L195 NwaCegarLoop]: 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-28 07:34:18,998 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-28 07:34:19,180 WARN L477 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-28 07:34:19,180 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:34:19,181 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:34:19,181 INFO L85 PathProgramCache]: Analyzing trace with hash 4200374, now seen corresponding path program 3 times [2022-04-28 07:34:19,181 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:34:19,181 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1622581196] [2022-04-28 07:34:19,181 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:34:19,181 INFO L85 PathProgramCache]: Analyzing trace with hash 4200374, now seen corresponding path program 4 times [2022-04-28 07:34:19,181 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:34:19,181 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [535917678] [2022-04-28 07:34:19,181 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:34:19,182 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:34:19,193 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:34:19,193 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1186024963] [2022-04-28 07:34:19,193 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 07:34:19,193 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:34:19,193 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:34:19,194 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-28 07:34:19,195 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-28 07:34:19,228 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 07:34:19,228 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:34:19,229 INFO L263 TraceCheckSpWp]: Trace formula consists of 88 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-28 07:34:19,242 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:34:19,243 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:34:21,961 INFO L272 TraceCheckUtils]: 0: Hoare triple {3857#true} call ULTIMATE.init(); {3857#true} is VALID [2022-04-28 07:34:21,961 INFO L290 TraceCheckUtils]: 1: Hoare triple {3857#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); {3857#true} is VALID [2022-04-28 07:34:21,961 INFO L290 TraceCheckUtils]: 2: Hoare triple {3857#true} assume true; {3857#true} is VALID [2022-04-28 07:34:21,961 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3857#true} {3857#true} #71#return; {3857#true} is VALID [2022-04-28 07:34:21,961 INFO L272 TraceCheckUtils]: 4: Hoare triple {3857#true} call #t~ret6 := main(); {3857#true} is VALID [2022-04-28 07:34:21,961 INFO L290 TraceCheckUtils]: 5: Hoare triple {3857#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; {3857#true} is VALID [2022-04-28 07:34:21,961 INFO L272 TraceCheckUtils]: 6: Hoare triple {3857#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {3857#true} is VALID [2022-04-28 07:34:21,961 INFO L290 TraceCheckUtils]: 7: Hoare triple {3857#true} ~cond := #in~cond; {3857#true} is VALID [2022-04-28 07:34:21,962 INFO L290 TraceCheckUtils]: 8: Hoare triple {3857#true} assume !(0 == ~cond); {3857#true} is VALID [2022-04-28 07:34:21,962 INFO L290 TraceCheckUtils]: 9: Hoare triple {3857#true} assume true; {3857#true} is VALID [2022-04-28 07:34:21,962 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3857#true} {3857#true} #61#return; {3857#true} is VALID [2022-04-28 07:34:21,962 INFO L290 TraceCheckUtils]: 11: Hoare triple {3857#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3857#true} is VALID [2022-04-28 07:34:21,962 INFO L272 TraceCheckUtils]: 12: Hoare triple {3857#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {3857#true} is VALID [2022-04-28 07:34:21,962 INFO L290 TraceCheckUtils]: 13: Hoare triple {3857#true} ~cond := #in~cond; {3857#true} is VALID [2022-04-28 07:34:21,962 INFO L290 TraceCheckUtils]: 14: Hoare triple {3857#true} assume !(0 == ~cond); {3857#true} is VALID [2022-04-28 07:34:21,962 INFO L290 TraceCheckUtils]: 15: Hoare triple {3857#true} assume true; {3857#true} is VALID [2022-04-28 07:34:21,962 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3857#true} {3857#true} #63#return; {3857#true} is VALID [2022-04-28 07:34:21,962 INFO L272 TraceCheckUtils]: 17: Hoare triple {3857#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3857#true} is VALID [2022-04-28 07:34:21,962 INFO L290 TraceCheckUtils]: 18: Hoare triple {3857#true} ~cond := #in~cond; {3857#true} is VALID [2022-04-28 07:34:21,962 INFO L290 TraceCheckUtils]: 19: Hoare triple {3857#true} assume !(0 == ~cond); {3857#true} is VALID [2022-04-28 07:34:21,962 INFO L290 TraceCheckUtils]: 20: Hoare triple {3857#true} assume true; {3857#true} is VALID [2022-04-28 07:34:21,962 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3857#true} {3857#true} #65#return; {3857#true} is VALID [2022-04-28 07:34:21,963 INFO L290 TraceCheckUtils]: 22: Hoare triple {3857#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3928#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:34:21,963 INFO L290 TraceCheckUtils]: 23: Hoare triple {3928#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {3928#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:34:21,963 INFO L272 TraceCheckUtils]: 24: Hoare triple {3928#(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)); {3857#true} is VALID [2022-04-28 07:34:21,963 INFO L290 TraceCheckUtils]: 25: Hoare triple {3857#true} ~cond := #in~cond; {3857#true} is VALID [2022-04-28 07:34:21,963 INFO L290 TraceCheckUtils]: 26: Hoare triple {3857#true} assume !(0 == ~cond); {3857#true} is VALID [2022-04-28 07:34:21,964 INFO L290 TraceCheckUtils]: 27: Hoare triple {3857#true} assume true; {3857#true} is VALID [2022-04-28 07:34:21,964 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3857#true} {3928#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #67#return; {3928#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:34:21,964 INFO L290 TraceCheckUtils]: 29: Hoare triple {3928#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {3928#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:34:21,965 INFO L290 TraceCheckUtils]: 30: Hoare triple {3928#(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)); {3953#(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-28 07:34:21,966 INFO L290 TraceCheckUtils]: 31: Hoare triple {3953#(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); {3957#(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-28 07:34:21,967 INFO L290 TraceCheckUtils]: 32: Hoare triple {3957#(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; {3957#(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-28 07:34:21,967 INFO L272 TraceCheckUtils]: 33: Hoare triple {3957#(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)); {3857#true} is VALID [2022-04-28 07:34:21,967 INFO L290 TraceCheckUtils]: 34: Hoare triple {3857#true} ~cond := #in~cond; {3967#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:34:21,967 INFO L290 TraceCheckUtils]: 35: Hoare triple {3967#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3971#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:34:21,968 INFO L290 TraceCheckUtils]: 36: Hoare triple {3971#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3971#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:34:21,968 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3971#(not (= |__VERIFIER_assert_#in~cond| 0))} {3957#(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; {3978#(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-28 07:34:21,969 INFO L290 TraceCheckUtils]: 38: Hoare triple {3978#(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); {3982#(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-28 07:34:21,972 INFO L290 TraceCheckUtils]: 39: Hoare triple {3982#(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; {3986#(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-28 07:34:21,975 INFO L290 TraceCheckUtils]: 40: Hoare triple {3986#(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); {3990#(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-28 07:34:21,975 INFO L290 TraceCheckUtils]: 41: Hoare triple {3990#(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; {3990#(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-28 07:34:22,284 INFO L272 TraceCheckUtils]: 42: Hoare triple {3990#(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)); {3997#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:34:22,285 INFO L290 TraceCheckUtils]: 43: Hoare triple {3997#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4001#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:34:22,285 INFO L290 TraceCheckUtils]: 44: Hoare triple {4001#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3858#false} is VALID [2022-04-28 07:34:22,285 INFO L290 TraceCheckUtils]: 45: Hoare triple {3858#false} assume !false; {3858#false} is VALID [2022-04-28 07:34:22,285 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-28 07:34:22,285 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:35:09,777 INFO L290 TraceCheckUtils]: 45: Hoare triple {3858#false} assume !false; {3858#false} is VALID [2022-04-28 07:35:09,777 INFO L290 TraceCheckUtils]: 44: Hoare triple {4001#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3858#false} is VALID [2022-04-28 07:35:09,777 INFO L290 TraceCheckUtils]: 43: Hoare triple {3997#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4001#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:35:09,778 INFO L272 TraceCheckUtils]: 42: Hoare triple {4017#(= (+ 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)); {3997#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:35:09,778 INFO L290 TraceCheckUtils]: 41: Hoare triple {4017#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {4017#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:35:09,783 INFO L290 TraceCheckUtils]: 40: Hoare triple {4024#(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); {4017#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:35:09,785 INFO L290 TraceCheckUtils]: 39: Hoare triple {4028#(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; {4024#(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-28 07:35:09,786 INFO L290 TraceCheckUtils]: 38: Hoare triple {4028#(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); {4028#(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-28 07:35:10,006 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3971#(not (= |__VERIFIER_assert_#in~cond| 0))} {3857#true} #67#return; {4028#(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-28 07:35:10,007 INFO L290 TraceCheckUtils]: 36: Hoare triple {3971#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3971#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:35:10,007 INFO L290 TraceCheckUtils]: 35: Hoare triple {4044#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3971#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:35:10,007 INFO L290 TraceCheckUtils]: 34: Hoare triple {3857#true} ~cond := #in~cond; {4044#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:35:10,007 INFO L272 TraceCheckUtils]: 33: Hoare triple {3857#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3857#true} is VALID [2022-04-28 07:35:10,007 INFO L290 TraceCheckUtils]: 32: Hoare triple {3857#true} assume !false; {3857#true} is VALID [2022-04-28 07:35:10,008 INFO L290 TraceCheckUtils]: 31: Hoare triple {3857#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); {3857#true} is VALID [2022-04-28 07:35:10,008 INFO L290 TraceCheckUtils]: 30: Hoare triple {3857#true} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3857#true} is VALID [2022-04-28 07:35:10,008 INFO L290 TraceCheckUtils]: 29: Hoare triple {3857#true} assume !!(0 != ~y~0); {3857#true} is VALID [2022-04-28 07:35:10,008 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3857#true} {3857#true} #67#return; {3857#true} is VALID [2022-04-28 07:35:10,008 INFO L290 TraceCheckUtils]: 27: Hoare triple {3857#true} assume true; {3857#true} is VALID [2022-04-28 07:35:10,008 INFO L290 TraceCheckUtils]: 26: Hoare triple {3857#true} assume !(0 == ~cond); {3857#true} is VALID [2022-04-28 07:35:10,008 INFO L290 TraceCheckUtils]: 25: Hoare triple {3857#true} ~cond := #in~cond; {3857#true} is VALID [2022-04-28 07:35:10,008 INFO L272 TraceCheckUtils]: 24: Hoare triple {3857#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3857#true} is VALID [2022-04-28 07:35:10,008 INFO L290 TraceCheckUtils]: 23: Hoare triple {3857#true} assume !false; {3857#true} is VALID [2022-04-28 07:35:10,008 INFO L290 TraceCheckUtils]: 22: Hoare triple {3857#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3857#true} is VALID [2022-04-28 07:35:10,008 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3857#true} {3857#true} #65#return; {3857#true} is VALID [2022-04-28 07:35:10,008 INFO L290 TraceCheckUtils]: 20: Hoare triple {3857#true} assume true; {3857#true} is VALID [2022-04-28 07:35:10,008 INFO L290 TraceCheckUtils]: 19: Hoare triple {3857#true} assume !(0 == ~cond); {3857#true} is VALID [2022-04-28 07:35:10,008 INFO L290 TraceCheckUtils]: 18: Hoare triple {3857#true} ~cond := #in~cond; {3857#true} is VALID [2022-04-28 07:35:10,009 INFO L272 TraceCheckUtils]: 17: Hoare triple {3857#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3857#true} is VALID [2022-04-28 07:35:10,009 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3857#true} {3857#true} #63#return; {3857#true} is VALID [2022-04-28 07:35:10,009 INFO L290 TraceCheckUtils]: 15: Hoare triple {3857#true} assume true; {3857#true} is VALID [2022-04-28 07:35:10,009 INFO L290 TraceCheckUtils]: 14: Hoare triple {3857#true} assume !(0 == ~cond); {3857#true} is VALID [2022-04-28 07:35:10,009 INFO L290 TraceCheckUtils]: 13: Hoare triple {3857#true} ~cond := #in~cond; {3857#true} is VALID [2022-04-28 07:35:10,009 INFO L272 TraceCheckUtils]: 12: Hoare triple {3857#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {3857#true} is VALID [2022-04-28 07:35:10,009 INFO L290 TraceCheckUtils]: 11: Hoare triple {3857#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3857#true} is VALID [2022-04-28 07:35:10,009 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3857#true} {3857#true} #61#return; {3857#true} is VALID [2022-04-28 07:35:10,009 INFO L290 TraceCheckUtils]: 9: Hoare triple {3857#true} assume true; {3857#true} is VALID [2022-04-28 07:35:10,009 INFO L290 TraceCheckUtils]: 8: Hoare triple {3857#true} assume !(0 == ~cond); {3857#true} is VALID [2022-04-28 07:35:10,009 INFO L290 TraceCheckUtils]: 7: Hoare triple {3857#true} ~cond := #in~cond; {3857#true} is VALID [2022-04-28 07:35:10,009 INFO L272 TraceCheckUtils]: 6: Hoare triple {3857#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {3857#true} is VALID [2022-04-28 07:35:10,009 INFO L290 TraceCheckUtils]: 5: Hoare triple {3857#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; {3857#true} is VALID [2022-04-28 07:35:10,009 INFO L272 TraceCheckUtils]: 4: Hoare triple {3857#true} call #t~ret6 := main(); {3857#true} is VALID [2022-04-28 07:35:10,010 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3857#true} {3857#true} #71#return; {3857#true} is VALID [2022-04-28 07:35:10,010 INFO L290 TraceCheckUtils]: 2: Hoare triple {3857#true} assume true; {3857#true} is VALID [2022-04-28 07:35:10,010 INFO L290 TraceCheckUtils]: 1: Hoare triple {3857#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); {3857#true} is VALID [2022-04-28 07:35:10,010 INFO L272 TraceCheckUtils]: 0: Hoare triple {3857#true} call ULTIMATE.init(); {3857#true} is VALID [2022-04-28 07:35:10,010 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-28 07:35:10,010 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:35:10,010 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [535917678] [2022-04-28 07:35:10,010 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:35:10,010 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1186024963] [2022-04-28 07:35:10,010 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1186024963] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:35:10,010 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:35:10,010 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9] total 17 [2022-04-28 07:35:10,011 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:35:10,011 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1622581196] [2022-04-28 07:35:10,011 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1622581196] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:35:10,011 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:35:10,011 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 07:35:10,011 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1568888101] [2022-04-28 07:35:10,011 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:35:10,011 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-28 07:35:10,012 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:35:10,012 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-28 07:35:10,186 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-28 07:35:10,186 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 07:35:10,186 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:35:10,186 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 07:35:10,186 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=218, Unknown=0, NotChecked=0, Total=272 [2022-04-28 07:35:10,186 INFO L87 Difference]: Start difference. First operand 50 states and 55 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-28 07:35:13,862 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.66s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:35:15,706 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.56s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:35:20,795 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.84s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:35:22,816 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:35:22,816 INFO L93 Difference]: Finished difference Result 68 states and 76 transitions. [2022-04-28 07:35:22,816 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 07:35:22,817 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-28 07:35:22,817 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:35:22,817 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-28 07:35:22,818 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-28 07:35:22,818 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-28 07:35:22,819 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-28 07:35:22,819 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 56 transitions. [2022-04-28 07:35:23,246 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-28 07:35:23,247 INFO L225 Difference]: With dead ends: 68 [2022-04-28 07:35:23,247 INFO L226 Difference]: Without dead ends: 66 [2022-04-28 07:35:23,248 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 74 SyntacticMatches, 2 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 64 ImplicationChecksByTransitivity, 9.2s TimeCoverageRelationStatistics Valid=67, Invalid=275, Unknown=0, NotChecked=0, Total=342 [2022-04-28 07:35:23,248 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 20 mSDsluCounter, 146 mSDsCounter, 0 mSdLazyCounter, 226 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 7.9s 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, 8.0s IncrementalHoareTripleChecker+Time [2022-04-28 07:35:23,248 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 172 Invalid, 229 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 226 Invalid, 0 Unknown, 0 Unchecked, 8.0s Time] [2022-04-28 07:35:23,249 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-04-28 07:35:23,320 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 62. [2022-04-28 07:35:23,320 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:35:23,320 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand has 62 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 45 states have internal predecessors, (48), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:35:23,320 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand has 62 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 45 states have internal predecessors, (48), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:35:23,321 INFO L87 Difference]: Start difference. First operand 66 states. Second operand has 62 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 45 states have internal predecessors, (48), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:35:23,322 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:35:23,322 INFO L93 Difference]: Finished difference Result 66 states and 74 transitions. [2022-04-28 07:35:23,322 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 74 transitions. [2022-04-28 07:35:23,322 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:35:23,322 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:35:23,322 INFO L74 IsIncluded]: Start isIncluded. First operand has 62 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 45 states have internal predecessors, (48), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) Second operand 66 states. [2022-04-28 07:35:23,323 INFO L87 Difference]: Start difference. First operand has 62 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 45 states have internal predecessors, (48), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) Second operand 66 states. [2022-04-28 07:35:23,324 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:35:23,324 INFO L93 Difference]: Finished difference Result 66 states and 74 transitions. [2022-04-28 07:35:23,324 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 74 transitions. [2022-04-28 07:35:23,324 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:35:23,324 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:35:23,324 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:35:23,324 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:35:23,325 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 62 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 45 states have internal predecessors, (48), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:35:23,326 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 69 transitions. [2022-04-28 07:35:23,326 INFO L78 Accepts]: Start accepts. Automaton has 62 states and 69 transitions. Word has length 46 [2022-04-28 07:35:23,326 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:35:23,326 INFO L495 AbstractCegarLoop]: Abstraction has 62 states and 69 transitions. [2022-04-28 07:35:23,326 INFO L496 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-28 07:35:23,326 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 62 states and 69 transitions. [2022-04-28 07:35:38,860 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 62 inductive. 0 not inductive. 7 times theorem prover too weak to decide inductivity. [2022-04-28 07:35:38,861 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 69 transitions. [2022-04-28 07:35:38,861 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 07:35:38,861 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:35:38,861 INFO L195 NwaCegarLoop]: 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-28 07:35:38,877 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-28 07:35:39,067 WARN L477 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-28 07:35:39,067 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:35:39,068 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:35:39,068 INFO L85 PathProgramCache]: Analyzing trace with hash 1779207736, now seen corresponding path program 3 times [2022-04-28 07:35:39,068 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:35:39,068 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [759933165] [2022-04-28 07:35:39,068 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:35:39,068 INFO L85 PathProgramCache]: Analyzing trace with hash 1779207736, now seen corresponding path program 4 times [2022-04-28 07:35:39,068 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:35:39,068 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2123611681] [2022-04-28 07:35:39,069 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:35:39,069 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:35:39,087 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:35:39,088 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [367295104] [2022-04-28 07:35:39,088 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 07:35:39,088 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:35:39,088 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:35:39,089 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-28 07:35:39,089 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-28 07:35:39,120 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 07:35:39,120 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:35:39,121 INFO L263 TraceCheckSpWp]: Trace formula consists of 83 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 07:35:39,133 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:35:39,134 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:35:49,505 INFO L272 TraceCheckUtils]: 0: Hoare triple {4545#true} call ULTIMATE.init(); {4545#true} is VALID [2022-04-28 07:35:49,505 INFO L290 TraceCheckUtils]: 1: Hoare triple {4545#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); {4545#true} is VALID [2022-04-28 07:35:49,505 INFO L290 TraceCheckUtils]: 2: Hoare triple {4545#true} assume true; {4545#true} is VALID [2022-04-28 07:35:49,505 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4545#true} {4545#true} #71#return; {4545#true} is VALID [2022-04-28 07:35:49,505 INFO L272 TraceCheckUtils]: 4: Hoare triple {4545#true} call #t~ret6 := main(); {4545#true} is VALID [2022-04-28 07:35:49,505 INFO L290 TraceCheckUtils]: 5: Hoare triple {4545#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; {4545#true} is VALID [2022-04-28 07:35:49,505 INFO L272 TraceCheckUtils]: 6: Hoare triple {4545#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {4545#true} is VALID [2022-04-28 07:35:49,505 INFO L290 TraceCheckUtils]: 7: Hoare triple {4545#true} ~cond := #in~cond; {4545#true} is VALID [2022-04-28 07:35:49,505 INFO L290 TraceCheckUtils]: 8: Hoare triple {4545#true} assume !(0 == ~cond); {4545#true} is VALID [2022-04-28 07:35:49,505 INFO L290 TraceCheckUtils]: 9: Hoare triple {4545#true} assume true; {4545#true} is VALID [2022-04-28 07:35:49,505 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4545#true} {4545#true} #61#return; {4545#true} is VALID [2022-04-28 07:35:49,506 INFO L290 TraceCheckUtils]: 11: Hoare triple {4545#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4545#true} is VALID [2022-04-28 07:35:49,506 INFO L272 TraceCheckUtils]: 12: Hoare triple {4545#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {4545#true} is VALID [2022-04-28 07:35:49,506 INFO L290 TraceCheckUtils]: 13: Hoare triple {4545#true} ~cond := #in~cond; {4545#true} is VALID [2022-04-28 07:35:49,506 INFO L290 TraceCheckUtils]: 14: Hoare triple {4545#true} assume !(0 == ~cond); {4545#true} is VALID [2022-04-28 07:35:49,506 INFO L290 TraceCheckUtils]: 15: Hoare triple {4545#true} assume true; {4545#true} is VALID [2022-04-28 07:35:49,506 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4545#true} {4545#true} #63#return; {4545#true} is VALID [2022-04-28 07:35:49,506 INFO L272 TraceCheckUtils]: 17: Hoare triple {4545#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4545#true} is VALID [2022-04-28 07:35:49,506 INFO L290 TraceCheckUtils]: 18: Hoare triple {4545#true} ~cond := #in~cond; {4604#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:35:49,507 INFO L290 TraceCheckUtils]: 19: Hoare triple {4604#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4608#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:35:49,507 INFO L290 TraceCheckUtils]: 20: Hoare triple {4608#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4608#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:35:49,507 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4608#(not (= |assume_abort_if_not_#in~cond| 0))} {4545#true} #65#return; {4615#(<= 1 main_~b~0)} is VALID [2022-04-28 07:35:49,508 INFO L290 TraceCheckUtils]: 22: Hoare triple {4615#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4619#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:35:49,508 INFO L290 TraceCheckUtils]: 23: Hoare triple {4619#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {4619#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:35:49,508 INFO L272 TraceCheckUtils]: 24: Hoare triple {4619#(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)); {4545#true} is VALID [2022-04-28 07:35:49,508 INFO L290 TraceCheckUtils]: 25: Hoare triple {4545#true} ~cond := #in~cond; {4629#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:35:49,508 INFO L290 TraceCheckUtils]: 26: Hoare triple {4629#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4633#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:35:49,509 INFO L290 TraceCheckUtils]: 27: Hoare triple {4633#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4633#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:35:49,509 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4633#(not (= |__VERIFIER_assert_#in~cond| 0))} {4619#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {4640#(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-28 07:35:49,510 INFO L290 TraceCheckUtils]: 29: Hoare triple {4640#(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); {4640#(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-28 07:35:49,510 INFO L290 TraceCheckUtils]: 30: Hoare triple {4640#(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)); {4647#(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-28 07:35:49,511 INFO L290 TraceCheckUtils]: 31: Hoare triple {4647#(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); {4651#(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-28 07:35:49,512 INFO L290 TraceCheckUtils]: 32: Hoare triple {4651#(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; {4651#(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-28 07:35:49,512 INFO L272 TraceCheckUtils]: 33: Hoare triple {4651#(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)); {4545#true} is VALID [2022-04-28 07:35:49,512 INFO L290 TraceCheckUtils]: 34: Hoare triple {4545#true} ~cond := #in~cond; {4545#true} is VALID [2022-04-28 07:35:49,512 INFO L290 TraceCheckUtils]: 35: Hoare triple {4545#true} assume !(0 == ~cond); {4545#true} is VALID [2022-04-28 07:35:49,512 INFO L290 TraceCheckUtils]: 36: Hoare triple {4545#true} assume true; {4545#true} is VALID [2022-04-28 07:35:49,512 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4545#true} {4651#(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; {4651#(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-28 07:35:49,513 INFO L290 TraceCheckUtils]: 38: Hoare triple {4651#(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); {4651#(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-28 07:35:49,514 INFO L290 TraceCheckUtils]: 39: Hoare triple {4651#(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)); {4676#(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-28 07:35:49,515 INFO L290 TraceCheckUtils]: 40: Hoare triple {4676#(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); {4680#(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-28 07:35:49,515 INFO L290 TraceCheckUtils]: 41: Hoare triple {4680#(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; {4680#(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-28 07:35:49,517 INFO L272 TraceCheckUtils]: 42: Hoare triple {4680#(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)); {4687#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:35:49,517 INFO L290 TraceCheckUtils]: 43: Hoare triple {4687#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4691#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:35:49,518 INFO L290 TraceCheckUtils]: 44: Hoare triple {4691#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4546#false} is VALID [2022-04-28 07:35:49,518 INFO L290 TraceCheckUtils]: 45: Hoare triple {4546#false} assume !false; {4546#false} is VALID [2022-04-28 07:35:49,518 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-28 07:35:49,518 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:36:22,506 INFO L290 TraceCheckUtils]: 45: Hoare triple {4546#false} assume !false; {4546#false} is VALID [2022-04-28 07:36:22,506 INFO L290 TraceCheckUtils]: 44: Hoare triple {4691#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4546#false} is VALID [2022-04-28 07:36:22,507 INFO L290 TraceCheckUtils]: 43: Hoare triple {4687#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4691#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:36:22,507 INFO L272 TraceCheckUtils]: 42: Hoare triple {4707#(= (+ 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)); {4687#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:36:22,508 INFO L290 TraceCheckUtils]: 41: Hoare triple {4707#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {4707#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:36:22,512 INFO L290 TraceCheckUtils]: 40: Hoare triple {4714#(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); {4707#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:36:22,513 INFO L290 TraceCheckUtils]: 39: Hoare triple {4718#(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)); {4714#(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-28 07:36:22,513 INFO L290 TraceCheckUtils]: 38: Hoare triple {4718#(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); {4718#(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-28 07:36:22,514 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4545#true} {4718#(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; {4718#(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-28 07:36:22,514 INFO L290 TraceCheckUtils]: 36: Hoare triple {4545#true} assume true; {4545#true} is VALID [2022-04-28 07:36:22,514 INFO L290 TraceCheckUtils]: 35: Hoare triple {4545#true} assume !(0 == ~cond); {4545#true} is VALID [2022-04-28 07:36:22,514 INFO L290 TraceCheckUtils]: 34: Hoare triple {4545#true} ~cond := #in~cond; {4545#true} is VALID [2022-04-28 07:36:22,514 INFO L272 TraceCheckUtils]: 33: Hoare triple {4718#(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)); {4545#true} is VALID [2022-04-28 07:36:22,515 INFO L290 TraceCheckUtils]: 32: Hoare triple {4718#(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; {4718#(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-28 07:36:22,526 INFO L290 TraceCheckUtils]: 31: Hoare triple {4743#(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); {4718#(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-28 07:36:22,527 INFO L290 TraceCheckUtils]: 30: Hoare triple {4747#(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)); {4743#(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-28 07:36:22,528 INFO L290 TraceCheckUtils]: 29: Hoare triple {4747#(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); {4747#(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-28 07:36:22,533 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4633#(not (= |__VERIFIER_assert_#in~cond| 0))} {4754#(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; {4747#(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-28 07:36:22,533 INFO L290 TraceCheckUtils]: 27: Hoare triple {4633#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4633#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:36:22,533 INFO L290 TraceCheckUtils]: 26: Hoare triple {4764#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4633#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:36:22,534 INFO L290 TraceCheckUtils]: 25: Hoare triple {4545#true} ~cond := #in~cond; {4764#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:36:22,534 INFO L272 TraceCheckUtils]: 24: Hoare triple {4754#(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)); {4545#true} is VALID [2022-04-28 07:36:22,534 INFO L290 TraceCheckUtils]: 23: Hoare triple {4754#(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; {4754#(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-28 07:36:22,535 INFO L290 TraceCheckUtils]: 22: Hoare triple {4774#(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; {4754#(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-28 07:36:22,536 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4608#(not (= |assume_abort_if_not_#in~cond| 0))} {4545#true} #65#return; {4774#(or (and (= (mod main_~b~0 2) 0) (= (mod (div main_~b~0 2) 2) 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 07:36:22,536 INFO L290 TraceCheckUtils]: 20: Hoare triple {4608#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4608#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:36:22,536 INFO L290 TraceCheckUtils]: 19: Hoare triple {4787#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {4608#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:36:22,537 INFO L290 TraceCheckUtils]: 18: Hoare triple {4545#true} ~cond := #in~cond; {4787#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 07:36:22,537 INFO L272 TraceCheckUtils]: 17: Hoare triple {4545#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4545#true} is VALID [2022-04-28 07:36:22,537 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4545#true} {4545#true} #63#return; {4545#true} is VALID [2022-04-28 07:36:22,537 INFO L290 TraceCheckUtils]: 15: Hoare triple {4545#true} assume true; {4545#true} is VALID [2022-04-28 07:36:22,537 INFO L290 TraceCheckUtils]: 14: Hoare triple {4545#true} assume !(0 == ~cond); {4545#true} is VALID [2022-04-28 07:36:22,537 INFO L290 TraceCheckUtils]: 13: Hoare triple {4545#true} ~cond := #in~cond; {4545#true} is VALID [2022-04-28 07:36:22,537 INFO L272 TraceCheckUtils]: 12: Hoare triple {4545#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {4545#true} is VALID [2022-04-28 07:36:22,537 INFO L290 TraceCheckUtils]: 11: Hoare triple {4545#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4545#true} is VALID [2022-04-28 07:36:22,537 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4545#true} {4545#true} #61#return; {4545#true} is VALID [2022-04-28 07:36:22,537 INFO L290 TraceCheckUtils]: 9: Hoare triple {4545#true} assume true; {4545#true} is VALID [2022-04-28 07:36:22,537 INFO L290 TraceCheckUtils]: 8: Hoare triple {4545#true} assume !(0 == ~cond); {4545#true} is VALID [2022-04-28 07:36:22,538 INFO L290 TraceCheckUtils]: 7: Hoare triple {4545#true} ~cond := #in~cond; {4545#true} is VALID [2022-04-28 07:36:22,538 INFO L272 TraceCheckUtils]: 6: Hoare triple {4545#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {4545#true} is VALID [2022-04-28 07:36:22,538 INFO L290 TraceCheckUtils]: 5: Hoare triple {4545#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; {4545#true} is VALID [2022-04-28 07:36:22,538 INFO L272 TraceCheckUtils]: 4: Hoare triple {4545#true} call #t~ret6 := main(); {4545#true} is VALID [2022-04-28 07:36:22,538 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4545#true} {4545#true} #71#return; {4545#true} is VALID [2022-04-28 07:36:22,538 INFO L290 TraceCheckUtils]: 2: Hoare triple {4545#true} assume true; {4545#true} is VALID [2022-04-28 07:36:22,538 INFO L290 TraceCheckUtils]: 1: Hoare triple {4545#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); {4545#true} is VALID [2022-04-28 07:36:22,538 INFO L272 TraceCheckUtils]: 0: Hoare triple {4545#true} call ULTIMATE.init(); {4545#true} is VALID [2022-04-28 07:36:22,538 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-28 07:36:22,538 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:36:22,539 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2123611681] [2022-04-28 07:36:22,539 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:36:22,539 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [367295104] [2022-04-28 07:36:22,539 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [367295104] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:36:22,539 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:36:22,539 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 24 [2022-04-28 07:36:22,539 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:36:22,539 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [759933165] [2022-04-28 07:36:22,539 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [759933165] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:36:22,539 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:36:22,539 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 07:36:22,539 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1474745693] [2022-04-28 07:36:22,539 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:36:22,540 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-28 07:36:22,540 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:36:22,540 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-28 07:36:22,571 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-28 07:36:22,571 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 07:36:22,571 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:36:22,572 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 07:36:22,572 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=95, Invalid=457, Unknown=0, NotChecked=0, Total=552 [2022-04-28 07:36:22,572 INFO L87 Difference]: Start difference. First operand 62 states and 69 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-28 07:36:23,633 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:36:23,633 INFO L93 Difference]: Finished difference Result 78 states and 85 transitions. [2022-04-28 07:36:23,633 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 07:36:23,633 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-28 07:36:23,634 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:36:23,634 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-28 07:36:23,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 55 transitions. [2022-04-28 07:36:23,635 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-28 07:36:23,635 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 55 transitions. [2022-04-28 07:36:23,635 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 55 transitions. [2022-04-28 07:36:23,687 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-28 07:36:23,688 INFO L225 Difference]: With dead ends: 78 [2022-04-28 07:36:23,688 INFO L226 Difference]: Without dead ends: 76 [2022-04-28 07:36:23,689 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 68 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 153 ImplicationChecksByTransitivity, 2.0s TimeCoverageRelationStatistics Valid=113, Invalid=589, Unknown=0, NotChecked=0, Total=702 [2022-04-28 07:36:23,689 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 30 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 269 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 138 SdHoareTripleChecker+Invalid, 280 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 269 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 07:36:23,689 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 138 Invalid, 280 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 269 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 07:36:23,689 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2022-04-28 07:36:23,745 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 50. [2022-04-28 07:36:23,745 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:36:23,745 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 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-28 07:36:23,745 INFO L74 IsIncluded]: Start isIncluded. First operand 76 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-28 07:36:23,745 INFO L87 Difference]: Start difference. First operand 76 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-28 07:36:23,746 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:36:23,746 INFO L93 Difference]: Finished difference Result 76 states and 83 transitions. [2022-04-28 07:36:23,746 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 83 transitions. [2022-04-28 07:36:23,747 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:36:23,747 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:36:23,747 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 76 states. [2022-04-28 07:36:23,747 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 76 states. [2022-04-28 07:36:23,748 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:36:23,748 INFO L93 Difference]: Finished difference Result 76 states and 83 transitions. [2022-04-28 07:36:23,748 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 83 transitions. [2022-04-28 07:36:23,748 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:36:23,748 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:36:23,748 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:36:23,749 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:36:23,749 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-28 07:36:23,749 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-28 07:36:23,749 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 46 [2022-04-28 07:36:23,750 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:36:23,750 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-28 07:36:23,750 INFO L496 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-28 07:36:23,750 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-28 07:36:34,976 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-28 07:36:34,976 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-28 07:36:34,976 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 07:36:34,977 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:36:34,977 INFO L195 NwaCegarLoop]: 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-28 07:36:34,994 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-28 07:36:35,177 WARN L477 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-28 07:36:35,177 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:36:35,187 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:36:35,187 INFO L85 PathProgramCache]: Analyzing trace with hash 1060406066, now seen corresponding path program 5 times [2022-04-28 07:36:35,187 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:36:35,187 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1644856305] [2022-04-28 07:36:35,189 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:36:35,189 INFO L85 PathProgramCache]: Analyzing trace with hash 1060406066, now seen corresponding path program 6 times [2022-04-28 07:36:35,189 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:36:35,189 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [593416180] [2022-04-28 07:36:35,189 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:36:35,189 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:36:35,206 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:36:35,206 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [529324951] [2022-04-28 07:36:35,206 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 07:36:35,206 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:36:35,206 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:36:35,207 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-28 07:36:35,210 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-28 07:36:35,246 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 07:36:35,246 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:36:35,246 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-28 07:36:35,258 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:36:35,259 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:36:59,153 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 07:37:02,297 INFO L272 TraceCheckUtils]: 0: Hoare triple {5258#true} call ULTIMATE.init(); {5258#true} is VALID [2022-04-28 07:37:02,297 INFO L290 TraceCheckUtils]: 1: Hoare triple {5258#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); {5258#true} is VALID [2022-04-28 07:37:02,297 INFO L290 TraceCheckUtils]: 2: Hoare triple {5258#true} assume true; {5258#true} is VALID [2022-04-28 07:37:02,297 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5258#true} {5258#true} #71#return; {5258#true} is VALID [2022-04-28 07:37:02,297 INFO L272 TraceCheckUtils]: 4: Hoare triple {5258#true} call #t~ret6 := main(); {5258#true} is VALID [2022-04-28 07:37:02,297 INFO L290 TraceCheckUtils]: 5: Hoare triple {5258#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; {5258#true} is VALID [2022-04-28 07:37:02,298 INFO L272 TraceCheckUtils]: 6: Hoare triple {5258#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {5258#true} is VALID [2022-04-28 07:37:02,298 INFO L290 TraceCheckUtils]: 7: Hoare triple {5258#true} ~cond := #in~cond; {5258#true} is VALID [2022-04-28 07:37:02,298 INFO L290 TraceCheckUtils]: 8: Hoare triple {5258#true} assume !(0 == ~cond); {5258#true} is VALID [2022-04-28 07:37:02,298 INFO L290 TraceCheckUtils]: 9: Hoare triple {5258#true} assume true; {5258#true} is VALID [2022-04-28 07:37:02,298 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5258#true} {5258#true} #61#return; {5258#true} is VALID [2022-04-28 07:37:02,299 INFO L290 TraceCheckUtils]: 11: Hoare triple {5258#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5258#true} is VALID [2022-04-28 07:37:02,299 INFO L272 TraceCheckUtils]: 12: Hoare triple {5258#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {5258#true} is VALID [2022-04-28 07:37:02,299 INFO L290 TraceCheckUtils]: 13: Hoare triple {5258#true} ~cond := #in~cond; {5258#true} is VALID [2022-04-28 07:37:02,299 INFO L290 TraceCheckUtils]: 14: Hoare triple {5258#true} assume !(0 == ~cond); {5258#true} is VALID [2022-04-28 07:37:02,300 INFO L290 TraceCheckUtils]: 15: Hoare triple {5258#true} assume true; {5258#true} is VALID [2022-04-28 07:37:02,300 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5258#true} {5258#true} #63#return; {5258#true} is VALID [2022-04-28 07:37:02,300 INFO L272 TraceCheckUtils]: 17: Hoare triple {5258#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5258#true} is VALID [2022-04-28 07:37:02,300 INFO L290 TraceCheckUtils]: 18: Hoare triple {5258#true} ~cond := #in~cond; {5258#true} is VALID [2022-04-28 07:37:02,300 INFO L290 TraceCheckUtils]: 19: Hoare triple {5258#true} assume !(0 == ~cond); {5258#true} is VALID [2022-04-28 07:37:02,300 INFO L290 TraceCheckUtils]: 20: Hoare triple {5258#true} assume true; {5258#true} is VALID [2022-04-28 07:37:02,300 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5258#true} {5258#true} #65#return; {5258#true} is VALID [2022-04-28 07:37:02,300 INFO L290 TraceCheckUtils]: 22: Hoare triple {5258#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5258#true} is VALID [2022-04-28 07:37:02,300 INFO L290 TraceCheckUtils]: 23: Hoare triple {5258#true} assume !false; {5258#true} is VALID [2022-04-28 07:37:02,300 INFO L272 TraceCheckUtils]: 24: Hoare triple {5258#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5258#true} is VALID [2022-04-28 07:37:02,300 INFO L290 TraceCheckUtils]: 25: Hoare triple {5258#true} ~cond := #in~cond; {5258#true} is VALID [2022-04-28 07:37:02,300 INFO L290 TraceCheckUtils]: 26: Hoare triple {5258#true} assume !(0 == ~cond); {5258#true} is VALID [2022-04-28 07:37:02,300 INFO L290 TraceCheckUtils]: 27: Hoare triple {5258#true} assume true; {5258#true} is VALID [2022-04-28 07:37:02,300 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5258#true} {5258#true} #67#return; {5258#true} is VALID [2022-04-28 07:37:02,301 INFO L290 TraceCheckUtils]: 29: Hoare triple {5258#true} assume !!(0 != ~y~0); {5258#true} is VALID [2022-04-28 07:37:02,301 INFO L290 TraceCheckUtils]: 30: Hoare triple {5258#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; {5258#true} is VALID [2022-04-28 07:37:02,301 INFO L290 TraceCheckUtils]: 31: Hoare triple {5258#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); {5258#true} is VALID [2022-04-28 07:37:02,301 INFO L290 TraceCheckUtils]: 32: Hoare triple {5258#true} assume !false; {5258#true} is VALID [2022-04-28 07:37:02,301 INFO L272 TraceCheckUtils]: 33: Hoare triple {5258#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5258#true} is VALID [2022-04-28 07:37:02,301 INFO L290 TraceCheckUtils]: 34: Hoare triple {5258#true} ~cond := #in~cond; {5258#true} is VALID [2022-04-28 07:37:02,301 INFO L290 TraceCheckUtils]: 35: Hoare triple {5258#true} assume !(0 == ~cond); {5258#true} is VALID [2022-04-28 07:37:02,301 INFO L290 TraceCheckUtils]: 36: Hoare triple {5258#true} assume true; {5258#true} is VALID [2022-04-28 07:37:02,301 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5258#true} {5258#true} #67#return; {5258#true} is VALID [2022-04-28 07:37:02,301 INFO L290 TraceCheckUtils]: 38: Hoare triple {5258#true} assume !!(0 != ~y~0); {5258#true} is VALID [2022-04-28 07:37:02,301 INFO L290 TraceCheckUtils]: 39: Hoare triple {5258#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; {5258#true} is VALID [2022-04-28 07:37:02,301 INFO L290 TraceCheckUtils]: 40: Hoare triple {5258#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); {5258#true} is VALID [2022-04-28 07:37:02,301 INFO L290 TraceCheckUtils]: 41: Hoare triple {5258#true} assume !false; {5258#true} is VALID [2022-04-28 07:37:02,301 INFO L272 TraceCheckUtils]: 42: Hoare triple {5258#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5258#true} is VALID [2022-04-28 07:37:02,302 INFO L290 TraceCheckUtils]: 43: Hoare triple {5258#true} ~cond := #in~cond; {5392#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:37:02,302 INFO L290 TraceCheckUtils]: 44: Hoare triple {5392#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5396#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:37:02,302 INFO L290 TraceCheckUtils]: 45: Hoare triple {5396#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5396#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:37:02,303 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5396#(not (= |__VERIFIER_assert_#in~cond| 0))} {5258#true} #67#return; {5403#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:37:02,303 INFO L290 TraceCheckUtils]: 47: Hoare triple {5403#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !!(0 != ~y~0); {5407#(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-28 07:37:02,306 INFO L290 TraceCheckUtils]: 48: Hoare triple {5407#(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; {5411#(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-28 07:37:03,470 INFO L290 TraceCheckUtils]: 49: Hoare triple {5411#(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); {5415#(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 VALID [2022-04-28 07:37:05,096 INFO L290 TraceCheckUtils]: 50: Hoare triple {5415#(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; {5419#(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 VALID [2022-04-28 07:37:06,592 INFO L272 TraceCheckUtils]: 51: Hoare triple {5419#(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)); {5423#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:37:06,593 INFO L290 TraceCheckUtils]: 52: Hoare triple {5423#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5427#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:37:06,593 INFO L290 TraceCheckUtils]: 53: Hoare triple {5427#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5259#false} is VALID [2022-04-28 07:37:06,594 INFO L290 TraceCheckUtils]: 54: Hoare triple {5259#false} assume !false; {5259#false} is VALID [2022-04-28 07:37:06,594 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-28 07:37:06,594 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:38:21,469 INFO L290 TraceCheckUtils]: 54: Hoare triple {5259#false} assume !false; {5259#false} is VALID [2022-04-28 07:38:21,470 INFO L290 TraceCheckUtils]: 53: Hoare triple {5427#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5259#false} is VALID [2022-04-28 07:38:21,470 INFO L290 TraceCheckUtils]: 52: Hoare triple {5423#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5427#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:38:21,471 INFO L272 TraceCheckUtils]: 51: Hoare triple {5403#(= (+ 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)); {5423#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:38:21,471 INFO L290 TraceCheckUtils]: 50: Hoare triple {5403#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {5403#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:38:21,475 INFO L290 TraceCheckUtils]: 49: Hoare triple {5449#(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); {5403#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:38:21,479 INFO L290 TraceCheckUtils]: 48: Hoare triple {5453#(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; {5449#(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-28 07:38:21,479 INFO L290 TraceCheckUtils]: 47: Hoare triple {5453#(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); {5453#(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-28 07:38:23,245 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5396#(not (= |__VERIFIER_assert_#in~cond| 0))} {5258#true} #67#return; {5453#(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-28 07:38:23,245 INFO L290 TraceCheckUtils]: 45: Hoare triple {5396#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5396#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:38:23,245 INFO L290 TraceCheckUtils]: 44: Hoare triple {5469#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5396#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:38:23,246 INFO L290 TraceCheckUtils]: 43: Hoare triple {5258#true} ~cond := #in~cond; {5469#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:38:23,246 INFO L272 TraceCheckUtils]: 42: Hoare triple {5258#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5258#true} is VALID [2022-04-28 07:38:23,246 INFO L290 TraceCheckUtils]: 41: Hoare triple {5258#true} assume !false; {5258#true} is VALID [2022-04-28 07:38:23,246 INFO L290 TraceCheckUtils]: 40: Hoare triple {5258#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); {5258#true} is VALID [2022-04-28 07:38:23,246 INFO L290 TraceCheckUtils]: 39: Hoare triple {5258#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; {5258#true} is VALID [2022-04-28 07:38:23,246 INFO L290 TraceCheckUtils]: 38: Hoare triple {5258#true} assume !!(0 != ~y~0); {5258#true} is VALID [2022-04-28 07:38:23,246 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5258#true} {5258#true} #67#return; {5258#true} is VALID [2022-04-28 07:38:23,246 INFO L290 TraceCheckUtils]: 36: Hoare triple {5258#true} assume true; {5258#true} is VALID [2022-04-28 07:38:23,246 INFO L290 TraceCheckUtils]: 35: Hoare triple {5258#true} assume !(0 == ~cond); {5258#true} is VALID [2022-04-28 07:38:23,246 INFO L290 TraceCheckUtils]: 34: Hoare triple {5258#true} ~cond := #in~cond; {5258#true} is VALID [2022-04-28 07:38:23,246 INFO L272 TraceCheckUtils]: 33: Hoare triple {5258#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5258#true} is VALID [2022-04-28 07:38:23,246 INFO L290 TraceCheckUtils]: 32: Hoare triple {5258#true} assume !false; {5258#true} is VALID [2022-04-28 07:38:23,247 INFO L290 TraceCheckUtils]: 31: Hoare triple {5258#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); {5258#true} is VALID [2022-04-28 07:38:23,247 INFO L290 TraceCheckUtils]: 30: Hoare triple {5258#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; {5258#true} is VALID [2022-04-28 07:38:23,247 INFO L290 TraceCheckUtils]: 29: Hoare triple {5258#true} assume !!(0 != ~y~0); {5258#true} is VALID [2022-04-28 07:38:23,247 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5258#true} {5258#true} #67#return; {5258#true} is VALID [2022-04-28 07:38:23,247 INFO L290 TraceCheckUtils]: 27: Hoare triple {5258#true} assume true; {5258#true} is VALID [2022-04-28 07:38:23,247 INFO L290 TraceCheckUtils]: 26: Hoare triple {5258#true} assume !(0 == ~cond); {5258#true} is VALID [2022-04-28 07:38:23,247 INFO L290 TraceCheckUtils]: 25: Hoare triple {5258#true} ~cond := #in~cond; {5258#true} is VALID [2022-04-28 07:38:23,247 INFO L272 TraceCheckUtils]: 24: Hoare triple {5258#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5258#true} is VALID [2022-04-28 07:38:23,247 INFO L290 TraceCheckUtils]: 23: Hoare triple {5258#true} assume !false; {5258#true} is VALID [2022-04-28 07:38:23,247 INFO L290 TraceCheckUtils]: 22: Hoare triple {5258#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5258#true} is VALID [2022-04-28 07:38:23,247 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5258#true} {5258#true} #65#return; {5258#true} is VALID [2022-04-28 07:38:23,247 INFO L290 TraceCheckUtils]: 20: Hoare triple {5258#true} assume true; {5258#true} is VALID [2022-04-28 07:38:23,247 INFO L290 TraceCheckUtils]: 19: Hoare triple {5258#true} assume !(0 == ~cond); {5258#true} is VALID [2022-04-28 07:38:23,247 INFO L290 TraceCheckUtils]: 18: Hoare triple {5258#true} ~cond := #in~cond; {5258#true} is VALID [2022-04-28 07:38:23,248 INFO L272 TraceCheckUtils]: 17: Hoare triple {5258#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5258#true} is VALID [2022-04-28 07:38:23,248 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5258#true} {5258#true} #63#return; {5258#true} is VALID [2022-04-28 07:38:23,248 INFO L290 TraceCheckUtils]: 15: Hoare triple {5258#true} assume true; {5258#true} is VALID [2022-04-28 07:38:23,248 INFO L290 TraceCheckUtils]: 14: Hoare triple {5258#true} assume !(0 == ~cond); {5258#true} is VALID [2022-04-28 07:38:23,248 INFO L290 TraceCheckUtils]: 13: Hoare triple {5258#true} ~cond := #in~cond; {5258#true} is VALID [2022-04-28 07:38:23,248 INFO L272 TraceCheckUtils]: 12: Hoare triple {5258#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {5258#true} is VALID [2022-04-28 07:38:23,248 INFO L290 TraceCheckUtils]: 11: Hoare triple {5258#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5258#true} is VALID [2022-04-28 07:38:23,248 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5258#true} {5258#true} #61#return; {5258#true} is VALID [2022-04-28 07:38:23,248 INFO L290 TraceCheckUtils]: 9: Hoare triple {5258#true} assume true; {5258#true} is VALID [2022-04-28 07:38:23,248 INFO L290 TraceCheckUtils]: 8: Hoare triple {5258#true} assume !(0 == ~cond); {5258#true} is VALID [2022-04-28 07:38:23,248 INFO L290 TraceCheckUtils]: 7: Hoare triple {5258#true} ~cond := #in~cond; {5258#true} is VALID [2022-04-28 07:38:23,248 INFO L272 TraceCheckUtils]: 6: Hoare triple {5258#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {5258#true} is VALID [2022-04-28 07:38:23,248 INFO L290 TraceCheckUtils]: 5: Hoare triple {5258#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; {5258#true} is VALID [2022-04-28 07:38:23,248 INFO L272 TraceCheckUtils]: 4: Hoare triple {5258#true} call #t~ret6 := main(); {5258#true} is VALID [2022-04-28 07:38:23,248 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5258#true} {5258#true} #71#return; {5258#true} is VALID [2022-04-28 07:38:23,249 INFO L290 TraceCheckUtils]: 2: Hoare triple {5258#true} assume true; {5258#true} is VALID [2022-04-28 07:38:23,249 INFO L290 TraceCheckUtils]: 1: Hoare triple {5258#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); {5258#true} is VALID [2022-04-28 07:38:23,249 INFO L272 TraceCheckUtils]: 0: Hoare triple {5258#true} call ULTIMATE.init(); {5258#true} is VALID [2022-04-28 07:38:23,249 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-28 07:38:23,249 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:38:23,249 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [593416180] [2022-04-28 07:38:23,249 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:38:23,249 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [529324951] [2022-04-28 07:38:23,249 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [529324951] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:38:23,249 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:38:23,249 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 14 [2022-04-28 07:38:23,250 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:38:23,250 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1644856305] [2022-04-28 07:38:23,250 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1644856305] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:38:23,250 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:38:23,250 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 07:38:23,250 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1182824327] [2022-04-28 07:38:23,250 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:38:23,250 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-28 07:38:23,250 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:38:23,251 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-28 07:38:25,818 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 37 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:38:25,818 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 07:38:25,818 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:38:25,818 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 07:38:25,819 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=141, Unknown=4, NotChecked=0, Total=182 [2022-04-28 07:38:25,819 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-28 07:38:28,007 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.50s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:38:32,376 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:38:32,376 INFO L93 Difference]: Finished difference Result 73 states and 78 transitions. [2022-04-28 07:38:32,376 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 07:38:32,376 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-28 07:38:32,376 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:38:32,376 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-28 07:38:32,377 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 41 transitions. [2022-04-28 07:38:32,377 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-28 07:38:32,377 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 41 transitions. [2022-04-28 07:38:32,378 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 41 transitions. [2022-04-28 07:38:33,849 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:38:33,850 INFO L225 Difference]: With dead ends: 73 [2022-04-28 07:38:33,850 INFO L226 Difference]: Without dead ends: 71 [2022-04-28 07:38:33,851 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 111 GetRequests, 95 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 42 ImplicationChecksByTransitivity, 16.5s TimeCoverageRelationStatistics Valid=50, Invalid=186, Unknown=4, NotChecked=0, Total=240 [2022-04-28 07:38:33,851 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 15 mSDsluCounter, 126 mSDsCounter, 0 mSdLazyCounter, 96 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 149 SdHoareTripleChecker+Invalid, 119 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 96 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 18 IncrementalHoareTripleChecker+Unchecked, 3.3s IncrementalHoareTripleChecker+Time [2022-04-28 07:38:33,851 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 149 Invalid, 119 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 96 Invalid, 0 Unknown, 18 Unchecked, 3.3s Time] [2022-04-28 07:38:33,851 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-28 07:38:33,902 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 50. [2022-04-28 07:38:33,903 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:38:33,903 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 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-28 07:38:33,903 INFO L74 IsIncluded]: Start isIncluded. First operand 71 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-28 07:38:33,903 INFO L87 Difference]: Start difference. First operand 71 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-28 07:38:33,904 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:38:33,904 INFO L93 Difference]: Finished difference Result 71 states and 76 transitions. [2022-04-28 07:38:33,904 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 76 transitions. [2022-04-28 07:38:33,904 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:38:33,904 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:38:33,904 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 71 states. [2022-04-28 07:38:33,905 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 71 states. [2022-04-28 07:38:33,906 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:38:33,906 INFO L93 Difference]: Finished difference Result 71 states and 76 transitions. [2022-04-28 07:38:33,906 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 76 transitions. [2022-04-28 07:38:33,906 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:38:33,906 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:38:33,906 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:38:33,906 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:38:33,906 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-28 07:38:33,907 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-28 07:38:33,907 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 55 [2022-04-28 07:38:33,907 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:38:33,907 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-28 07:38:33,907 INFO L496 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-28 07:38:33,907 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-28 07:38:47,811 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 49 inductive. 0 not inductive. 6 times theorem prover too weak to decide inductivity. [2022-04-28 07:38:47,811 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-28 07:38:47,811 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 07:38:47,811 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:38:47,811 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:38:47,827 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-28 07:38:48,012 WARN L477 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-28 07:38:48,012 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:38:48,012 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:38:48,012 INFO L85 PathProgramCache]: Analyzing trace with hash -1459553868, now seen corresponding path program 5 times [2022-04-28 07:38:48,012 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:38:48,012 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1235128797] [2022-04-28 07:38:48,013 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:38:48,013 INFO L85 PathProgramCache]: Analyzing trace with hash -1459553868, now seen corresponding path program 6 times [2022-04-28 07:38:48,013 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:38:48,013 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1649676205] [2022-04-28 07:38:48,013 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:38:48,013 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:38:48,025 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:38:48,026 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [321645782] [2022-04-28 07:38:48,026 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 07:38:48,026 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:38:48,026 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:38:48,035 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-28 07:38:48,036 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-28 07:38:48,078 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 07:38:48,078 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:38:48,079 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 07:38:48,092 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:38:48,093 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:39:10,529 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 07:39:14,292 INFO L272 TraceCheckUtils]: 0: Hoare triple {5993#true} call ULTIMATE.init(); {5993#true} is VALID [2022-04-28 07:39:14,293 INFO L290 TraceCheckUtils]: 1: Hoare triple {5993#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); {5993#true} is VALID [2022-04-28 07:39:14,293 INFO L290 TraceCheckUtils]: 2: Hoare triple {5993#true} assume true; {5993#true} is VALID [2022-04-28 07:39:14,293 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5993#true} {5993#true} #71#return; {5993#true} is VALID [2022-04-28 07:39:14,293 INFO L272 TraceCheckUtils]: 4: Hoare triple {5993#true} call #t~ret6 := main(); {5993#true} is VALID [2022-04-28 07:39:14,293 INFO L290 TraceCheckUtils]: 5: Hoare triple {5993#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; {5993#true} is VALID [2022-04-28 07:39:14,293 INFO L272 TraceCheckUtils]: 6: Hoare triple {5993#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {5993#true} is VALID [2022-04-28 07:39:14,293 INFO L290 TraceCheckUtils]: 7: Hoare triple {5993#true} ~cond := #in~cond; {5993#true} is VALID [2022-04-28 07:39:14,293 INFO L290 TraceCheckUtils]: 8: Hoare triple {5993#true} assume !(0 == ~cond); {5993#true} is VALID [2022-04-28 07:39:14,293 INFO L290 TraceCheckUtils]: 9: Hoare triple {5993#true} assume true; {5993#true} is VALID [2022-04-28 07:39:14,293 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5993#true} {5993#true} #61#return; {5993#true} is VALID [2022-04-28 07:39:14,293 INFO L290 TraceCheckUtils]: 11: Hoare triple {5993#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5993#true} is VALID [2022-04-28 07:39:14,294 INFO L272 TraceCheckUtils]: 12: Hoare triple {5993#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {5993#true} is VALID [2022-04-28 07:39:14,294 INFO L290 TraceCheckUtils]: 13: Hoare triple {5993#true} ~cond := #in~cond; {5993#true} is VALID [2022-04-28 07:39:14,294 INFO L290 TraceCheckUtils]: 14: Hoare triple {5993#true} assume !(0 == ~cond); {5993#true} is VALID [2022-04-28 07:39:14,294 INFO L290 TraceCheckUtils]: 15: Hoare triple {5993#true} assume true; {5993#true} is VALID [2022-04-28 07:39:14,294 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5993#true} {5993#true} #63#return; {5993#true} is VALID [2022-04-28 07:39:14,294 INFO L272 TraceCheckUtils]: 17: Hoare triple {5993#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5993#true} is VALID [2022-04-28 07:39:14,294 INFO L290 TraceCheckUtils]: 18: Hoare triple {5993#true} ~cond := #in~cond; {5993#true} is VALID [2022-04-28 07:39:14,294 INFO L290 TraceCheckUtils]: 19: Hoare triple {5993#true} assume !(0 == ~cond); {5993#true} is VALID [2022-04-28 07:39:14,294 INFO L290 TraceCheckUtils]: 20: Hoare triple {5993#true} assume true; {5993#true} is VALID [2022-04-28 07:39:14,294 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5993#true} {5993#true} #65#return; {5993#true} is VALID [2022-04-28 07:39:14,294 INFO L290 TraceCheckUtils]: 22: Hoare triple {5993#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5993#true} is VALID [2022-04-28 07:39:14,294 INFO L290 TraceCheckUtils]: 23: Hoare triple {5993#true} assume !false; {5993#true} is VALID [2022-04-28 07:39:14,294 INFO L272 TraceCheckUtils]: 24: Hoare triple {5993#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5993#true} is VALID [2022-04-28 07:39:14,294 INFO L290 TraceCheckUtils]: 25: Hoare triple {5993#true} ~cond := #in~cond; {5993#true} is VALID [2022-04-28 07:39:14,294 INFO L290 TraceCheckUtils]: 26: Hoare triple {5993#true} assume !(0 == ~cond); {5993#true} is VALID [2022-04-28 07:39:14,295 INFO L290 TraceCheckUtils]: 27: Hoare triple {5993#true} assume true; {5993#true} is VALID [2022-04-28 07:39:14,295 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5993#true} {5993#true} #67#return; {5993#true} is VALID [2022-04-28 07:39:14,295 INFO L290 TraceCheckUtils]: 29: Hoare triple {5993#true} assume !!(0 != ~y~0); {5993#true} is VALID [2022-04-28 07:39:14,295 INFO L290 TraceCheckUtils]: 30: Hoare triple {5993#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; {5993#true} is VALID [2022-04-28 07:39:14,295 INFO L290 TraceCheckUtils]: 31: Hoare triple {5993#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); {5993#true} is VALID [2022-04-28 07:39:14,295 INFO L290 TraceCheckUtils]: 32: Hoare triple {5993#true} assume !false; {5993#true} is VALID [2022-04-28 07:39:14,295 INFO L272 TraceCheckUtils]: 33: Hoare triple {5993#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5993#true} is VALID [2022-04-28 07:39:14,295 INFO L290 TraceCheckUtils]: 34: Hoare triple {5993#true} ~cond := #in~cond; {5993#true} is VALID [2022-04-28 07:39:14,295 INFO L290 TraceCheckUtils]: 35: Hoare triple {5993#true} assume !(0 == ~cond); {5993#true} is VALID [2022-04-28 07:39:14,295 INFO L290 TraceCheckUtils]: 36: Hoare triple {5993#true} assume true; {5993#true} is VALID [2022-04-28 07:39:14,295 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5993#true} {5993#true} #67#return; {5993#true} is VALID [2022-04-28 07:39:14,299 INFO L290 TraceCheckUtils]: 38: Hoare triple {5993#true} assume !!(0 != ~y~0); {6112#(not (= main_~y~0 0))} is VALID [2022-04-28 07:39:14,300 INFO L290 TraceCheckUtils]: 39: Hoare triple {6112#(not (= 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; {6116#(< 0 (+ main_~y~0 1))} is VALID [2022-04-28 07:39:14,300 INFO L290 TraceCheckUtils]: 40: Hoare triple {6116#(< 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); {6116#(< 0 (+ main_~y~0 1))} is VALID [2022-04-28 07:39:14,301 INFO L290 TraceCheckUtils]: 41: Hoare triple {6116#(< 0 (+ main_~y~0 1))} assume !false; {6116#(< 0 (+ main_~y~0 1))} is VALID [2022-04-28 07:39:14,301 INFO L272 TraceCheckUtils]: 42: Hoare triple {6116#(< 0 (+ main_~y~0 1))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5993#true} is VALID [2022-04-28 07:39:14,301 INFO L290 TraceCheckUtils]: 43: Hoare triple {5993#true} ~cond := #in~cond; {6129#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:39:14,301 INFO L290 TraceCheckUtils]: 44: Hoare triple {6129#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6133#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:39:14,301 INFO L290 TraceCheckUtils]: 45: Hoare triple {6133#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6133#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:39:14,302 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6133#(not (= |__VERIFIER_assert_#in~cond| 0))} {6116#(< 0 (+ main_~y~0 1))} #67#return; {6140#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-28 07:39:14,302 INFO L290 TraceCheckUtils]: 47: Hoare triple {6140#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)))} assume !!(0 != ~y~0); {6140#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-28 07:39:14,303 INFO L290 TraceCheckUtils]: 48: Hoare triple {6140#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6147#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-28 07:39:14,716 INFO L290 TraceCheckUtils]: 49: Hoare triple {6147#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 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); {6151#(and (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) (< 0 (+ aux_mod_v_main_~y~0_63_22 (* aux_div_v_main_~y~0_63_22 2) 1)) (= (+ 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)))) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 07:39:14,963 INFO L290 TraceCheckUtils]: 50: Hoare triple {6151#(and (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) (< 0 (+ aux_mod_v_main_~y~0_63_22 (* aux_div_v_main_~y~0_63_22 2) 1)) (= (+ 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)))) (= (mod main_~x~0 2) 0))} assume !false; {6155#(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 VALID [2022-04-28 07:39:15,249 INFO L272 TraceCheckUtils]: 51: Hoare triple {6155#(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)); {6159#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:39:15,249 INFO L290 TraceCheckUtils]: 52: Hoare triple {6159#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6163#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:39:15,250 INFO L290 TraceCheckUtils]: 53: Hoare triple {6163#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5994#false} is VALID [2022-04-28 07:39:15,250 INFO L290 TraceCheckUtils]: 54: Hoare triple {5994#false} assume !false; {5994#false} is VALID [2022-04-28 07:39:15,250 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 28 proven. 2 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2022-04-28 07:39:15,250 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:39:48,007 INFO L290 TraceCheckUtils]: 54: Hoare triple {5994#false} assume !false; {5994#false} is VALID [2022-04-28 07:39:48,008 INFO L290 TraceCheckUtils]: 53: Hoare triple {6163#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5994#false} is VALID [2022-04-28 07:39:48,008 INFO L290 TraceCheckUtils]: 52: Hoare triple {6159#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6163#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:39:48,009 INFO L272 TraceCheckUtils]: 51: Hoare triple {6179#(= (+ 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)); {6159#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:39:48,009 INFO L290 TraceCheckUtils]: 50: Hoare triple {6179#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {6179#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:39:48,013 INFO L290 TraceCheckUtils]: 49: Hoare triple {6186#(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); {6179#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:39:48,014 INFO L290 TraceCheckUtils]: 48: Hoare triple {6190#(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)); {6186#(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-28 07:39:48,015 INFO L290 TraceCheckUtils]: 47: Hoare triple {6190#(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); {6190#(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-28 07:39:48,018 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6133#(not (= |__VERIFIER_assert_#in~cond| 0))} {6197#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} #67#return; {6190#(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-28 07:39:48,018 INFO L290 TraceCheckUtils]: 45: Hoare triple {6133#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6133#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:39:48,018 INFO L290 TraceCheckUtils]: 44: Hoare triple {6207#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6133#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:39:48,019 INFO L290 TraceCheckUtils]: 43: Hoare triple {5993#true} ~cond := #in~cond; {6207#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:39:48,019 INFO L272 TraceCheckUtils]: 42: Hoare triple {6197#(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)); {5993#true} is VALID [2022-04-28 07:39:48,019 INFO L290 TraceCheckUtils]: 41: Hoare triple {6197#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} assume !false; {6197#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-28 07:39:48,020 INFO L290 TraceCheckUtils]: 40: Hoare triple {6217#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (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); {6197#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-28 07:39:48,021 INFO L290 TraceCheckUtils]: 39: Hoare triple {5993#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; {6217#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} is VALID [2022-04-28 07:39:48,021 INFO L290 TraceCheckUtils]: 38: Hoare triple {5993#true} assume !!(0 != ~y~0); {5993#true} is VALID [2022-04-28 07:39:48,021 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5993#true} {5993#true} #67#return; {5993#true} is VALID [2022-04-28 07:39:48,021 INFO L290 TraceCheckUtils]: 36: Hoare triple {5993#true} assume true; {5993#true} is VALID [2022-04-28 07:39:48,021 INFO L290 TraceCheckUtils]: 35: Hoare triple {5993#true} assume !(0 == ~cond); {5993#true} is VALID [2022-04-28 07:39:48,035 INFO L290 TraceCheckUtils]: 34: Hoare triple {5993#true} ~cond := #in~cond; {5993#true} is VALID [2022-04-28 07:39:48,035 INFO L272 TraceCheckUtils]: 33: Hoare triple {5993#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5993#true} is VALID [2022-04-28 07:39:48,035 INFO L290 TraceCheckUtils]: 32: Hoare triple {5993#true} assume !false; {5993#true} is VALID [2022-04-28 07:39:48,035 INFO L290 TraceCheckUtils]: 31: Hoare triple {5993#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); {5993#true} is VALID [2022-04-28 07:39:48,035 INFO L290 TraceCheckUtils]: 30: Hoare triple {5993#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; {5993#true} is VALID [2022-04-28 07:39:48,035 INFO L290 TraceCheckUtils]: 29: Hoare triple {5993#true} assume !!(0 != ~y~0); {5993#true} is VALID [2022-04-28 07:39:48,035 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5993#true} {5993#true} #67#return; {5993#true} is VALID [2022-04-28 07:39:48,035 INFO L290 TraceCheckUtils]: 27: Hoare triple {5993#true} assume true; {5993#true} is VALID [2022-04-28 07:39:48,036 INFO L290 TraceCheckUtils]: 26: Hoare triple {5993#true} assume !(0 == ~cond); {5993#true} is VALID [2022-04-28 07:39:48,036 INFO L290 TraceCheckUtils]: 25: Hoare triple {5993#true} ~cond := #in~cond; {5993#true} is VALID [2022-04-28 07:39:48,036 INFO L272 TraceCheckUtils]: 24: Hoare triple {5993#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5993#true} is VALID [2022-04-28 07:39:48,036 INFO L290 TraceCheckUtils]: 23: Hoare triple {5993#true} assume !false; {5993#true} is VALID [2022-04-28 07:39:48,036 INFO L290 TraceCheckUtils]: 22: Hoare triple {5993#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5993#true} is VALID [2022-04-28 07:39:48,036 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5993#true} {5993#true} #65#return; {5993#true} is VALID [2022-04-28 07:39:48,036 INFO L290 TraceCheckUtils]: 20: Hoare triple {5993#true} assume true; {5993#true} is VALID [2022-04-28 07:39:48,036 INFO L290 TraceCheckUtils]: 19: Hoare triple {5993#true} assume !(0 == ~cond); {5993#true} is VALID [2022-04-28 07:39:48,036 INFO L290 TraceCheckUtils]: 18: Hoare triple {5993#true} ~cond := #in~cond; {5993#true} is VALID [2022-04-28 07:39:48,036 INFO L272 TraceCheckUtils]: 17: Hoare triple {5993#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5993#true} is VALID [2022-04-28 07:39:48,036 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5993#true} {5993#true} #63#return; {5993#true} is VALID [2022-04-28 07:39:48,036 INFO L290 TraceCheckUtils]: 15: Hoare triple {5993#true} assume true; {5993#true} is VALID [2022-04-28 07:39:48,036 INFO L290 TraceCheckUtils]: 14: Hoare triple {5993#true} assume !(0 == ~cond); {5993#true} is VALID [2022-04-28 07:39:48,036 INFO L290 TraceCheckUtils]: 13: Hoare triple {5993#true} ~cond := #in~cond; {5993#true} is VALID [2022-04-28 07:39:48,037 INFO L272 TraceCheckUtils]: 12: Hoare triple {5993#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {5993#true} is VALID [2022-04-28 07:39:48,037 INFO L290 TraceCheckUtils]: 11: Hoare triple {5993#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5993#true} is VALID [2022-04-28 07:39:48,037 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5993#true} {5993#true} #61#return; {5993#true} is VALID [2022-04-28 07:39:48,037 INFO L290 TraceCheckUtils]: 9: Hoare triple {5993#true} assume true; {5993#true} is VALID [2022-04-28 07:39:48,037 INFO L290 TraceCheckUtils]: 8: Hoare triple {5993#true} assume !(0 == ~cond); {5993#true} is VALID [2022-04-28 07:39:48,037 INFO L290 TraceCheckUtils]: 7: Hoare triple {5993#true} ~cond := #in~cond; {5993#true} is VALID [2022-04-28 07:39:48,037 INFO L272 TraceCheckUtils]: 6: Hoare triple {5993#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {5993#true} is VALID [2022-04-28 07:39:48,037 INFO L290 TraceCheckUtils]: 5: Hoare triple {5993#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; {5993#true} is VALID [2022-04-28 07:39:48,037 INFO L272 TraceCheckUtils]: 4: Hoare triple {5993#true} call #t~ret6 := main(); {5993#true} is VALID [2022-04-28 07:39:48,037 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5993#true} {5993#true} #71#return; {5993#true} is VALID [2022-04-28 07:39:48,037 INFO L290 TraceCheckUtils]: 2: Hoare triple {5993#true} assume true; {5993#true} is VALID [2022-04-28 07:39:48,037 INFO L290 TraceCheckUtils]: 1: Hoare triple {5993#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); {5993#true} is VALID [2022-04-28 07:39:48,037 INFO L272 TraceCheckUtils]: 0: Hoare triple {5993#true} call ULTIMATE.init(); {5993#true} is VALID [2022-04-28 07:39:48,038 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 25 proven. 4 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2022-04-28 07:39:48,038 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:39:48,038 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1649676205] [2022-04-28 07:39:48,038 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:39:48,038 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [321645782] [2022-04-28 07:39:48,038 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [321645782] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:39:48,038 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:39:48,038 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11] total 18 [2022-04-28 07:39:48,038 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:39:48,038 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1235128797] [2022-04-28 07:39:48,038 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1235128797] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:39:48,038 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:39:48,039 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 07:39:48,039 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [718163301] [2022-04-28 07:39:48,039 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:39:48,042 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 55 [2022-04-28 07:39:48,043 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:39:48,043 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 07:39:48,900 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-28 07:39:48,900 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 07:39:48,901 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:39:48,901 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 07:39:48,901 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=239, Unknown=4, NotChecked=0, Total=306 [2022-04-28 07:39:48,901 INFO L87 Difference]: Start difference. First operand 50 states and 55 transitions. Second operand has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 07:39:52,089 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.44s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:39:58,013 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.19s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:39:59,487 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.13s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:40:04,752 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:40:04,753 INFO L93 Difference]: Finished difference Result 79 states and 89 transitions. [2022-04-28 07:40:04,753 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 07:40:04,753 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 55 [2022-04-28 07:40:04,753 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:40:04,753 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 07:40:04,754 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 49 transitions. [2022-04-28 07:40:04,754 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 07:40:04,754 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 49 transitions. [2022-04-28 07:40:04,754 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 49 transitions. [2022-04-28 07:40:07,340 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:40:07,341 INFO L225 Difference]: With dead ends: 79 [2022-04-28 07:40:07,341 INFO L226 Difference]: Without dead ends: 50 [2022-04-28 07:40:07,342 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 116 GetRequests, 93 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 88 ImplicationChecksByTransitivity, 14.8s TimeCoverageRelationStatistics Valid=125, Invalid=423, Unknown=4, NotChecked=0, Total=552 [2022-04-28 07:40:07,342 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 20 mSDsluCounter, 150 mSDsCounter, 0 mSdLazyCounter, 134 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 178 SdHoareTripleChecker+Invalid, 163 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 134 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 23 IncrementalHoareTripleChecker+Unchecked, 6.3s IncrementalHoareTripleChecker+Time [2022-04-28 07:40:07,342 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [21 Valid, 178 Invalid, 163 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 134 Invalid, 0 Unknown, 23 Unchecked, 6.3s Time] [2022-04-28 07:40:07,343 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-28 07:40:07,405 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 50. [2022-04-28 07:40:07,406 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:40:07,406 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-28 07:40:07,406 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-28 07:40:07,406 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-28 07:40:07,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:40:07,407 INFO L93 Difference]: Finished difference Result 50 states and 52 transitions. [2022-04-28 07:40:07,407 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 52 transitions. [2022-04-28 07:40:07,407 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:40:07,407 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:40:07,407 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-28 07:40:07,407 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-28 07:40:07,408 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:40:07,408 INFO L93 Difference]: Finished difference Result 50 states and 52 transitions. [2022-04-28 07:40:07,408 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 52 transitions. [2022-04-28 07:40:07,408 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:40:07,409 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:40:07,409 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:40:07,409 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:40:07,409 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-28 07:40:07,409 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 52 transitions. [2022-04-28 07:40:07,409 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 52 transitions. Word has length 55 [2022-04-28 07:40:07,410 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:40:07,410 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 52 transitions. [2022-04-28 07:40:07,410 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 07:40:07,410 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 52 transitions. [2022-04-28 07:40:21,509 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 45 inductive. 0 not inductive. 7 times theorem prover too weak to decide inductivity. [2022-04-28 07:40:21,510 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 52 transitions. [2022-04-28 07:40:21,510 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 07:40:21,510 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:40:21,510 INFO L195 NwaCegarLoop]: 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-28 07:40:21,526 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-28 07:40:21,710 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-28 07:40:21,711 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:40:21,711 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:40:21,711 INFO L85 PathProgramCache]: Analyzing trace with hash 1954893684, now seen corresponding path program 5 times [2022-04-28 07:40:21,711 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:40:21,711 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [216270767] [2022-04-28 07:40:21,711 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:40:21,712 INFO L85 PathProgramCache]: Analyzing trace with hash 1954893684, now seen corresponding path program 6 times [2022-04-28 07:40:21,712 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:40:21,712 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [727965839] [2022-04-28 07:40:21,712 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:40:21,712 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:40:21,721 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:40:21,721 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1322754157] [2022-04-28 07:40:21,721 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 07:40:21,721 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:40:21,721 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:40:21,722 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:40:21,723 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-28 07:40:21,763 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 07:40:21,764 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:40:21,764 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-28 07:40:21,782 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:40:21,783 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:40:45,571 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 07:41:26,713 INFO L272 TraceCheckUtils]: 0: Hoare triple {6711#true} call ULTIMATE.init(); {6711#true} is VALID [2022-04-28 07:41:26,713 INFO L290 TraceCheckUtils]: 1: Hoare triple {6711#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); {6711#true} is VALID [2022-04-28 07:41:26,713 INFO L290 TraceCheckUtils]: 2: Hoare triple {6711#true} assume true; {6711#true} is VALID [2022-04-28 07:41:26,713 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6711#true} {6711#true} #71#return; {6711#true} is VALID [2022-04-28 07:41:26,713 INFO L272 TraceCheckUtils]: 4: Hoare triple {6711#true} call #t~ret6 := main(); {6711#true} is VALID [2022-04-28 07:41:26,713 INFO L290 TraceCheckUtils]: 5: Hoare triple {6711#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; {6711#true} is VALID [2022-04-28 07:41:26,713 INFO L272 TraceCheckUtils]: 6: Hoare triple {6711#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 100 then 1 else 0)); {6711#true} is VALID [2022-04-28 07:41:26,713 INFO L290 TraceCheckUtils]: 7: Hoare triple {6711#true} ~cond := #in~cond; {6711#true} is VALID [2022-04-28 07:41:26,713 INFO L290 TraceCheckUtils]: 8: Hoare triple {6711#true} assume !(0 == ~cond); {6711#true} is VALID [2022-04-28 07:41:26,713 INFO L290 TraceCheckUtils]: 9: Hoare triple {6711#true} assume true; {6711#true} is VALID [2022-04-28 07:41:26,714 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6711#true} {6711#true} #61#return; {6711#true} is VALID [2022-04-28 07:41:26,714 INFO L290 TraceCheckUtils]: 11: Hoare triple {6711#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {6711#true} is VALID [2022-04-28 07:41:26,714 INFO L272 TraceCheckUtils]: 12: Hoare triple {6711#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 100 then 1 else 0)); {6711#true} is VALID [2022-04-28 07:41:26,714 INFO L290 TraceCheckUtils]: 13: Hoare triple {6711#true} ~cond := #in~cond; {6711#true} is VALID [2022-04-28 07:41:26,714 INFO L290 TraceCheckUtils]: 14: Hoare triple {6711#true} assume !(0 == ~cond); {6711#true} is VALID [2022-04-28 07:41:26,714 INFO L290 TraceCheckUtils]: 15: Hoare triple {6711#true} assume true; {6711#true} is VALID [2022-04-28 07:41:26,714 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6711#true} {6711#true} #63#return; {6711#true} is VALID [2022-04-28 07:41:26,714 INFO L272 TraceCheckUtils]: 17: Hoare triple {6711#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {6711#true} is VALID [2022-04-28 07:41:26,714 INFO L290 TraceCheckUtils]: 18: Hoare triple {6711#true} ~cond := #in~cond; {6770#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:41:26,715 INFO L290 TraceCheckUtils]: 19: Hoare triple {6770#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6774#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:41:26,715 INFO L290 TraceCheckUtils]: 20: Hoare triple {6774#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6774#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:41:26,715 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6774#(not (= |assume_abort_if_not_#in~cond| 0))} {6711#true} #65#return; {6781#(<= 1 main_~b~0)} is VALID [2022-04-28 07:41:26,716 INFO L290 TraceCheckUtils]: 22: Hoare triple {6781#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {6785#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-28 07:41:26,716 INFO L290 TraceCheckUtils]: 23: Hoare triple {6785#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0))} assume !false; {6785#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-28 07:41:26,716 INFO L272 TraceCheckUtils]: 24: Hoare triple {6785#(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)); {6711#true} is VALID [2022-04-28 07:41:26,716 INFO L290 TraceCheckUtils]: 25: Hoare triple {6711#true} ~cond := #in~cond; {6711#true} is VALID [2022-04-28 07:41:26,716 INFO L290 TraceCheckUtils]: 26: Hoare triple {6711#true} assume !(0 == ~cond); {6711#true} is VALID [2022-04-28 07:41:26,716 INFO L290 TraceCheckUtils]: 27: Hoare triple {6711#true} assume true; {6711#true} is VALID [2022-04-28 07:41:26,717 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6711#true} {6785#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0))} #67#return; {6785#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-28 07:41:26,717 INFO L290 TraceCheckUtils]: 29: Hoare triple {6785#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {6785#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-28 07:41:26,718 INFO L290 TraceCheckUtils]: 30: Hoare triple {6785#(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)); {6810#(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-28 07:41:26,718 INFO L290 TraceCheckUtils]: 31: Hoare triple {6810#(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); {6814#(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-28 07:41:26,719 INFO L290 TraceCheckUtils]: 32: Hoare triple {6814#(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; {6814#(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-28 07:41:26,719 INFO L272 TraceCheckUtils]: 33: Hoare triple {6814#(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)); {6711#true} is VALID [2022-04-28 07:41:26,719 INFO L290 TraceCheckUtils]: 34: Hoare triple {6711#true} ~cond := #in~cond; {6711#true} is VALID [2022-04-28 07:41:26,719 INFO L290 TraceCheckUtils]: 35: Hoare triple {6711#true} assume !(0 == ~cond); {6711#true} is VALID [2022-04-28 07:41:26,719 INFO L290 TraceCheckUtils]: 36: Hoare triple {6711#true} assume true; {6711#true} is VALID [2022-04-28 07:41:26,720 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6711#true} {6814#(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; {6814#(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-28 07:41:26,720 INFO L290 TraceCheckUtils]: 38: Hoare triple {6814#(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); {6814#(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-28 07:41:26,721 INFO L290 TraceCheckUtils]: 39: Hoare triple {6814#(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)); {6839#(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-28 07:41:26,722 INFO L290 TraceCheckUtils]: 40: Hoare triple {6839#(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); {6843#(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-28 07:41:26,722 INFO L290 TraceCheckUtils]: 41: Hoare triple {6843#(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; {6843#(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-28 07:41:26,722 INFO L272 TraceCheckUtils]: 42: Hoare triple {6843#(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)); {6711#true} is VALID [2022-04-28 07:41:26,722 INFO L290 TraceCheckUtils]: 43: Hoare triple {6711#true} ~cond := #in~cond; {6853#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:41:26,723 INFO L290 TraceCheckUtils]: 44: Hoare triple {6853#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6857#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:41:26,723 INFO L290 TraceCheckUtils]: 45: Hoare triple {6857#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6857#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:41:26,724 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6857#(not (= |__VERIFIER_assert_#in~cond| 0))} {6843#(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; {6864#(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-28 07:41:26,724 INFO L290 TraceCheckUtils]: 47: Hoare triple {6864#(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); {6864#(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-28 07:41:26,725 INFO L290 TraceCheckUtils]: 48: Hoare triple {6864#(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)); {6871#(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-28 07:41:27,118 INFO L290 TraceCheckUtils]: 49: Hoare triple {6871#(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); {6875#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (exists ((aux_div_v_main_~y~0_71_22 Int) (aux_mod_v_main_~y~0_71_22 Int)) (and (= (+ (* (+ (* aux_div_v_main_~y~0_71_22 2) aux_mod_v_main_~y~0_71_22) (div (- main_~x~0) (- 2))) main_~z~0) (* main_~b~0 main_~a~0)) (<= (div (div main_~b~0 2) 2) (+ (* aux_div_v_main_~y~0_71_22 2) aux_mod_v_main_~y~0_71_22)) (<= 0 aux_mod_v_main_~y~0_71_22) (not (= aux_mod_v_main_~y~0_71_22 1)) (= main_~y~0 (div (+ (* aux_div_v_main_~y~0_71_22 2) aux_mod_v_main_~y~0_71_22) 2)) (< aux_mod_v_main_~y~0_71_22 2))) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 07:41:27,529 INFO L290 TraceCheckUtils]: 50: Hoare triple {6875#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (exists ((aux_div_v_main_~y~0_71_22 Int) (aux_mod_v_main_~y~0_71_22 Int)) (and (= (+ (* (+ (* aux_div_v_main_~y~0_71_22 2) aux_mod_v_main_~y~0_71_22) (div (- main_~x~0) (- 2))) main_~z~0) (* main_~b~0 main_~a~0)) (<= (div (div main_~b~0 2) 2) (+ (* aux_div_v_main_~y~0_71_22 2) aux_mod_v_main_~y~0_71_22)) (<= 0 aux_mod_v_main_~y~0_71_22) (not (= aux_mod_v_main_~y~0_71_22 1)) (= main_~y~0 (div (+ (* aux_div_v_main_~y~0_71_22 2) aux_mod_v_main_~y~0_71_22) 2)) (< aux_mod_v_main_~y~0_71_22 2))) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (mod main_~x~0 2) 0))} assume !false; {6879#(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-28 07:41:29,532 WARN L272 TraceCheckUtils]: 51: Hoare triple {6879#(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)); {6883#(<= 1 |__VERIFIER_assert_#in~cond|)} is UNKNOWN [2022-04-28 07:41:29,533 INFO L290 TraceCheckUtils]: 52: Hoare triple {6883#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6887#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:41:29,533 INFO L290 TraceCheckUtils]: 53: Hoare triple {6887#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6712#false} is VALID [2022-04-28 07:41:29,533 INFO L290 TraceCheckUtils]: 54: Hoare triple {6712#false} assume !false; {6712#false} is VALID [2022-04-28 07:41:29,534 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-28 07:41:29,534 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:42:11,720 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful