/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_unwindbound10.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 14:06:27,157 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 14:06:27,158 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 14:06:27,192 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 14:06:27,192 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 14:06:27,193 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 14:06:27,194 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 14:06:27,195 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 14:06:27,196 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 14:06:27,196 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 14:06:27,197 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 14:06:27,198 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 14:06:27,198 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 14:06:27,199 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 14:06:27,199 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 14:06:27,200 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 14:06:27,201 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 14:06:27,201 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 14:06:27,202 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 14:06:27,203 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 14:06:27,204 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 14:06:27,209 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 14:06:27,211 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 14:06:27,213 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 14:06:27,215 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 14:06:27,218 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 14:06:27,218 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 14:06:27,219 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 14:06:27,219 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 14:06:27,219 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 14:06:27,220 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 14:06:27,220 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 14:06:27,220 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 14:06:27,221 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 14:06:27,221 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 14:06:27,222 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 14:06:27,222 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 14:06:27,222 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 14:06:27,222 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 14:06:27,222 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 14:06:27,223 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 14:06:27,226 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 14:06:27,226 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 14:06:27,234 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 14:06:27,235 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 14:06:27,235 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 14:06:27,236 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 14:06:27,236 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 14:06:27,236 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 14:06:27,236 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 14:06:27,236 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 14:06:27,236 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 14:06:27,236 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 14:06:27,237 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 14:06:27,237 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 14:06:27,237 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 14:06:27,237 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 14:06:27,237 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 14:06:27,237 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 14:06:27,237 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 14:06:27,237 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 14:06:27,237 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 14:06:27,237 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 14:06:27,237 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 14:06:27,238 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 14:06:27,238 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 14:06:27,426 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 14:06:27,443 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 14:06:27,445 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 14:06:27,445 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 14:06:27,446 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 14:06:27,446 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_unwindbound10.c [2022-04-28 14:06:27,486 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/14f2736ac/dc46717306c84506be9c82782f96d5a5/FLAGecb3f12cf [2022-04-28 14:06:27,843 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 14:06:27,843 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_unwindbound10.c [2022-04-28 14:06:27,847 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/14f2736ac/dc46717306c84506be9c82782f96d5a5/FLAGecb3f12cf [2022-04-28 14:06:28,254 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/14f2736ac/dc46717306c84506be9c82782f96d5a5 [2022-04-28 14:06:28,265 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 14:06:28,266 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 14:06:28,276 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 14:06:28,276 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 14:06:28,282 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 14:06:28,288 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 02:06:28" (1/1) ... [2022-04-28 14:06:28,290 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@ff024ee and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:06:28, skipping insertion in model container [2022-04-28 14:06:28,291 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 02:06:28" (1/1) ... [2022-04-28 14:06:28,296 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 14:06:28,322 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 14:06:28,544 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_unwindbound10.c[537,550] [2022-04-28 14:06:28,564 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 14:06:28,569 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 14:06:28,578 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_unwindbound10.c[537,550] [2022-04-28 14:06:28,590 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 14:06:28,599 INFO L208 MainTranslator]: Completed translation [2022-04-28 14:06:28,599 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:06:28 WrapperNode [2022-04-28 14:06:28,599 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 14:06:28,600 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 14:06:28,600 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 14:06:28,601 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 14:06:28,607 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:06:28" (1/1) ... [2022-04-28 14:06:28,607 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:06:28" (1/1) ... [2022-04-28 14:06:28,612 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:06:28" (1/1) ... [2022-04-28 14:06:28,612 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:06:28" (1/1) ... [2022-04-28 14:06:28,622 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:06:28" (1/1) ... [2022-04-28 14:06:28,626 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:06:28" (1/1) ... [2022-04-28 14:06:28,630 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:06:28" (1/1) ... [2022-04-28 14:06:28,631 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 14:06:28,632 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 14:06:28,632 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 14:06:28,632 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 14:06:28,633 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:06:28" (1/1) ... [2022-04-28 14:06:28,637 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 14:06:28,646 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:06:28,677 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 14:06:28,686 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 14:06:28,707 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 14:06:28,707 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 14:06:28,708 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 14:06:28,708 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 14:06:28,708 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 14:06:28,708 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 14:06:28,708 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 14:06:28,708 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 14:06:28,709 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 14:06:28,709 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 14:06:28,709 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 14:06:28,709 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 14:06:28,709 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 14:06:28,709 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 14:06:28,710 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 14:06:28,710 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 14:06:28,710 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 14:06:28,710 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 14:06:28,711 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 14:06:28,711 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 14:06:28,754 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 14:06:28,755 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 14:06:28,845 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 14:06:28,849 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 14:06:28,849 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 14:06:28,850 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 02:06:28 BoogieIcfgContainer [2022-04-28 14:06:28,850 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 14:06:28,851 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 14:06:28,851 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 14:06:28,862 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 14:06:28,862 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 02:06:28" (1/3) ... [2022-04-28 14:06:28,862 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@578a9536 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 02:06:28, skipping insertion in model container [2022-04-28 14:06:28,862 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:06:28" (2/3) ... [2022-04-28 14:06:28,863 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@578a9536 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 02:06:28, skipping insertion in model container [2022-04-28 14:06:28,863 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 02:06:28" (3/3) ... [2022-04-28 14:06:28,863 INFO L111 eAbstractionObserver]: Analyzing ICFG prodbin-ll_unwindbound10.c [2022-04-28 14:06:28,871 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 14:06:28,872 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 14:06:28,903 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 14:06:28,907 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@30c5e815, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@46955896 [2022-04-28 14:06:28,907 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 14:06:28,913 INFO L276 IsEmpty]: Start isEmpty. Operand has 30 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 14:06:28,917 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-28 14:06:28,917 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:06:28,917 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:06:28,917 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:06:28,923 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:06:28,923 INFO L85 PathProgramCache]: Analyzing trace with hash -1523633710, now seen corresponding path program 1 times [2022-04-28 14:06:28,928 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:06:28,928 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1018157964] [2022-04-28 14:06:28,934 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:06:28,934 INFO L85 PathProgramCache]: Analyzing trace with hash -1523633710, now seen corresponding path program 2 times [2022-04-28 14:06:28,938 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:06:28,938 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [688434504] [2022-04-28 14:06:28,939 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:06:28,939 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:06:29,006 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:06:29,043 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 14:06:29,046 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:06:29,056 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {33#true} is VALID [2022-04-28 14:06:29,056 INFO L290 TraceCheckUtils]: 1: Hoare triple {33#true} assume true; {33#true} is VALID [2022-04-28 14:06:29,057 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {33#true} {33#true} #65#return; {33#true} is VALID [2022-04-28 14:06:29,057 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 14:06:29,058 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:06:29,063 INFO L290 TraceCheckUtils]: 0: Hoare triple {33#true} ~cond := #in~cond; {33#true} is VALID [2022-04-28 14:06:29,063 INFO L290 TraceCheckUtils]: 1: Hoare triple {33#true} assume 0 == ~cond;assume false; {34#false} is VALID [2022-04-28 14:06:29,063 INFO L290 TraceCheckUtils]: 2: Hoare triple {34#false} assume true; {34#false} is VALID [2022-04-28 14:06:29,064 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34#false} {33#true} #59#return; {34#false} is VALID [2022-04-28 14:06:29,064 INFO L272 TraceCheckUtils]: 0: Hoare triple {33#true} call ULTIMATE.init(); {42#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 14:06:29,065 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {33#true} is VALID [2022-04-28 14:06:29,065 INFO L290 TraceCheckUtils]: 2: Hoare triple {33#true} assume true; {33#true} is VALID [2022-04-28 14:06:29,065 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33#true} {33#true} #65#return; {33#true} is VALID [2022-04-28 14:06:29,065 INFO L272 TraceCheckUtils]: 4: Hoare triple {33#true} call #t~ret7 := main(); {33#true} is VALID [2022-04-28 14:06:29,065 INFO L290 TraceCheckUtils]: 5: Hoare triple {33#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {33#true} is VALID [2022-04-28 14:06:29,065 INFO L272 TraceCheckUtils]: 6: Hoare triple {33#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {33#true} is VALID [2022-04-28 14:06:29,066 INFO L290 TraceCheckUtils]: 7: Hoare triple {33#true} ~cond := #in~cond; {33#true} is VALID [2022-04-28 14:06:29,066 INFO L290 TraceCheckUtils]: 8: Hoare triple {33#true} assume 0 == ~cond;assume false; {34#false} is VALID [2022-04-28 14:06:29,066 INFO L290 TraceCheckUtils]: 9: Hoare triple {34#false} assume true; {34#false} is VALID [2022-04-28 14:06:29,066 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {34#false} {33#true} #59#return; {34#false} is VALID [2022-04-28 14:06:29,067 INFO L290 TraceCheckUtils]: 11: Hoare triple {34#false} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {34#false} is VALID [2022-04-28 14:06:29,067 INFO L290 TraceCheckUtils]: 12: Hoare triple {34#false} assume !true; {34#false} is VALID [2022-04-28 14:06:29,067 INFO L272 TraceCheckUtils]: 13: Hoare triple {34#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {34#false} is VALID [2022-04-28 14:06:29,067 INFO L290 TraceCheckUtils]: 14: Hoare triple {34#false} ~cond := #in~cond; {34#false} is VALID [2022-04-28 14:06:29,067 INFO L290 TraceCheckUtils]: 15: Hoare triple {34#false} assume 0 == ~cond; {34#false} is VALID [2022-04-28 14:06:29,067 INFO L290 TraceCheckUtils]: 16: Hoare triple {34#false} assume !false; {34#false} is VALID [2022-04-28 14:06:29,068 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 14:06:29,068 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:06:29,068 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [688434504] [2022-04-28 14:06:29,069 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [688434504] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:06:29,069 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:06:29,069 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 14:06:29,070 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:06:29,071 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1018157964] [2022-04-28 14:06:29,071 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1018157964] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:06:29,071 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:06:29,071 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 14:06:29,071 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1267204739] [2022-04-28 14:06:29,071 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:06:29,074 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-28 14:06:29,075 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:06:29,077 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 14:06:29,095 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:06:29,095 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 14:06:29,095 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:06:29,107 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 14:06:29,108 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 14:06:29,109 INFO L87 Difference]: Start difference. First operand has 30 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 14:06:29,264 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:06:29,265 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-28 14:06:29,265 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 14:06:29,265 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-28 14:06:29,265 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:06:29,266 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 14:06:29,281 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 66 transitions. [2022-04-28 14:06:29,281 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 14:06:29,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 66 transitions. [2022-04-28 14:06:29,289 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 66 transitions. [2022-04-28 14:06:29,364 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:06:29,369 INFO L225 Difference]: With dead ends: 52 [2022-04-28 14:06:29,370 INFO L226 Difference]: Without dead ends: 26 [2022-04-28 14:06:29,372 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 6 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 14:06:29,374 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 15 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 35 SdHoareTripleChecker+Invalid, 19 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 15 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 14:06:29,374 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 35 Invalid, 19 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 15 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 14:06:29,398 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 26 states. [2022-04-28 14:06:29,409 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 26 to 25. [2022-04-28 14:06:29,409 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:06:29,409 INFO L82 GeneralOperation]: Start isEquivalent. First operand 26 states. Second operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 14:06:29,410 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 14:06:29,410 INFO L87 Difference]: Start difference. First operand 26 states. Second operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 14:06:29,413 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:06:29,413 INFO L93 Difference]: Finished difference Result 26 states and 29 transitions. [2022-04-28 14:06:29,413 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 29 transitions. [2022-04-28 14:06:29,413 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:06:29,413 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:06:29,414 INFO L74 IsIncluded]: Start isIncluded. First operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 26 states. [2022-04-28 14:06:29,414 INFO L87 Difference]: Start difference. First operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 26 states. [2022-04-28 14:06:29,416 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:06:29,416 INFO L93 Difference]: Finished difference Result 26 states and 29 transitions. [2022-04-28 14:06:29,416 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 29 transitions. [2022-04-28 14:06:29,417 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:06:29,417 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:06:29,417 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:06:29,417 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:06:29,417 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 14:06:29,419 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 28 transitions. [2022-04-28 14:06:29,419 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 28 transitions. Word has length 17 [2022-04-28 14:06:29,420 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:06:29,420 INFO L495 AbstractCegarLoop]: Abstraction has 25 states and 28 transitions. [2022-04-28 14:06:29,420 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 14:06:29,420 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 25 states and 28 transitions. [2022-04-28 14:06:29,444 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:06:29,444 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 28 transitions. [2022-04-28 14:06:29,445 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-28 14:06:29,445 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:06:29,445 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:06:29,445 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 14:06:29,445 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:06:29,446 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:06:29,446 INFO L85 PathProgramCache]: Analyzing trace with hash -991958694, now seen corresponding path program 1 times [2022-04-28 14:06:29,446 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:06:29,446 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1054408910] [2022-04-28 14:06:29,447 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:06:29,447 INFO L85 PathProgramCache]: Analyzing trace with hash -991958694, now seen corresponding path program 2 times [2022-04-28 14:06:29,447 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:06:29,447 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [421587665] [2022-04-28 14:06:29,447 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:06:29,448 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:06:29,462 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:06:29,463 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1187290347] [2022-04-28 14:06:29,463 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:06:29,463 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:06:29,463 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:06:29,464 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 14:06:29,465 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 14:06:29,522 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 14:06:29,522 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:06:29,523 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 14:06:29,531 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:06:29,533 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:06:29,642 INFO L272 TraceCheckUtils]: 0: Hoare triple {251#true} call ULTIMATE.init(); {251#true} is VALID [2022-04-28 14:06:29,643 INFO L290 TraceCheckUtils]: 1: Hoare triple {251#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);~counter~0 := 0; {259#(<= ~counter~0 0)} is VALID [2022-04-28 14:06:29,643 INFO L290 TraceCheckUtils]: 2: Hoare triple {259#(<= ~counter~0 0)} assume true; {259#(<= ~counter~0 0)} is VALID [2022-04-28 14:06:29,643 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {259#(<= ~counter~0 0)} {251#true} #65#return; {259#(<= ~counter~0 0)} is VALID [2022-04-28 14:06:29,644 INFO L272 TraceCheckUtils]: 4: Hoare triple {259#(<= ~counter~0 0)} call #t~ret7 := main(); {259#(<= ~counter~0 0)} is VALID [2022-04-28 14:06:29,644 INFO L290 TraceCheckUtils]: 5: Hoare triple {259#(<= ~counter~0 0)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {259#(<= ~counter~0 0)} is VALID [2022-04-28 14:06:29,645 INFO L272 TraceCheckUtils]: 6: Hoare triple {259#(<= ~counter~0 0)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {259#(<= ~counter~0 0)} is VALID [2022-04-28 14:06:29,645 INFO L290 TraceCheckUtils]: 7: Hoare triple {259#(<= ~counter~0 0)} ~cond := #in~cond; {259#(<= ~counter~0 0)} is VALID [2022-04-28 14:06:29,646 INFO L290 TraceCheckUtils]: 8: Hoare triple {259#(<= ~counter~0 0)} assume !(0 == ~cond); {259#(<= ~counter~0 0)} is VALID [2022-04-28 14:06:29,646 INFO L290 TraceCheckUtils]: 9: Hoare triple {259#(<= ~counter~0 0)} assume true; {259#(<= ~counter~0 0)} is VALID [2022-04-28 14:06:29,647 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {259#(<= ~counter~0 0)} {259#(<= ~counter~0 0)} #59#return; {259#(<= ~counter~0 0)} is VALID [2022-04-28 14:06:29,647 INFO L290 TraceCheckUtils]: 11: Hoare triple {259#(<= ~counter~0 0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {259#(<= ~counter~0 0)} is VALID [2022-04-28 14:06:29,648 INFO L290 TraceCheckUtils]: 12: Hoare triple {259#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {293#(<= |main_#t~post6| 0)} is VALID [2022-04-28 14:06:29,648 INFO L290 TraceCheckUtils]: 13: Hoare triple {293#(<= |main_#t~post6| 0)} assume !(#t~post6 < 10);havoc #t~post6; {252#false} is VALID [2022-04-28 14:06:29,648 INFO L272 TraceCheckUtils]: 14: Hoare triple {252#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {252#false} is VALID [2022-04-28 14:06:29,649 INFO L290 TraceCheckUtils]: 15: Hoare triple {252#false} ~cond := #in~cond; {252#false} is VALID [2022-04-28 14:06:29,649 INFO L290 TraceCheckUtils]: 16: Hoare triple {252#false} assume 0 == ~cond; {252#false} is VALID [2022-04-28 14:06:29,649 INFO L290 TraceCheckUtils]: 17: Hoare triple {252#false} assume !false; {252#false} is VALID [2022-04-28 14:06:29,649 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 14:06:29,649 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 14:06:29,649 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:06:29,650 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [421587665] [2022-04-28 14:06:29,650 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:06:29,650 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1187290347] [2022-04-28 14:06:29,650 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1187290347] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:06:29,650 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:06:29,650 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 14:06:29,651 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:06:29,651 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1054408910] [2022-04-28 14:06:29,651 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1054408910] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:06:29,651 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:06:29,651 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 14:06:29,652 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2081290820] [2022-04-28 14:06:29,652 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:06:29,652 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 18 [2022-04-28 14:06:29,652 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:06:29,653 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 14:06:29,666 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:06:29,666 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-28 14:06:29,666 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:06:29,666 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-28 14:06:29,667 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-28 14:06:29,667 INFO L87 Difference]: Start difference. First operand 25 states and 28 transitions. Second operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 14:06:29,713 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:06:29,713 INFO L93 Difference]: Finished difference Result 34 states and 37 transitions. [2022-04-28 14:06:29,713 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-28 14:06:29,713 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 18 [2022-04-28 14:06:29,713 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:06:29,714 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 14:06:29,715 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 37 transitions. [2022-04-28 14:06:29,715 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 14:06:29,717 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 37 transitions. [2022-04-28 14:06:29,717 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 37 transitions. [2022-04-28 14:06:29,741 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 14:06:29,743 INFO L225 Difference]: With dead ends: 34 [2022-04-28 14:06:29,743 INFO L226 Difference]: Without dead ends: 27 [2022-04-28 14:06:29,743 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-28 14:06:29,744 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 0 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 66 SdHoareTripleChecker+Invalid, 7 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 14:06:29,744 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 66 Invalid, 7 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 14:06:29,745 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-28 14:06:29,754 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-28 14:06:29,754 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:06:29,754 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 14:06:29,754 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 14:06:29,754 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 14:06:29,756 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:06:29,756 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-28 14:06:29,756 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-28 14:06:29,756 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:06:29,756 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:06:29,757 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 27 states. [2022-04-28 14:06:29,757 INFO L87 Difference]: Start difference. First operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 27 states. [2022-04-28 14:06:29,758 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:06:29,758 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-28 14:06:29,758 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-28 14:06:29,759 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:06:29,759 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:06:29,759 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:06:29,759 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:06:29,759 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 14:06:29,760 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 30 transitions. [2022-04-28 14:06:29,760 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 30 transitions. Word has length 18 [2022-04-28 14:06:29,761 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:06:29,761 INFO L495 AbstractCegarLoop]: Abstraction has 27 states and 30 transitions. [2022-04-28 14:06:29,761 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 14:06:29,761 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 30 transitions. [2022-04-28 14:06:29,784 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:06:29,784 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-28 14:06:29,785 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-28 14:06:29,785 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:06:29,785 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:06:29,815 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 14:06:30,018 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 14:06:30,019 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:06:30,019 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:06:30,019 INFO L85 PathProgramCache]: Analyzing trace with hash -990171234, now seen corresponding path program 1 times [2022-04-28 14:06:30,019 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:06:30,020 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [396389950] [2022-04-28 14:06:30,020 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:06:30,020 INFO L85 PathProgramCache]: Analyzing trace with hash -990171234, now seen corresponding path program 2 times [2022-04-28 14:06:30,020 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:06:30,021 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1277783738] [2022-04-28 14:06:30,021 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:06:30,021 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:06:30,048 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:06:30,048 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [18497545] [2022-04-28 14:06:30,049 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:06:30,049 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:06:30,049 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:06:30,051 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 14:06:30,052 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 14:06:30,091 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 14:06:30,091 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:06:30,092 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 14:06:30,102 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:06:30,102 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:06:30,223 INFO L272 TraceCheckUtils]: 0: Hoare triple {484#true} call ULTIMATE.init(); {484#true} is VALID [2022-04-28 14:06:30,224 INFO L290 TraceCheckUtils]: 1: Hoare triple {484#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);~counter~0 := 0; {484#true} is VALID [2022-04-28 14:06:30,224 INFO L290 TraceCheckUtils]: 2: Hoare triple {484#true} assume true; {484#true} is VALID [2022-04-28 14:06:30,224 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {484#true} {484#true} #65#return; {484#true} is VALID [2022-04-28 14:06:30,224 INFO L272 TraceCheckUtils]: 4: Hoare triple {484#true} call #t~ret7 := main(); {484#true} is VALID [2022-04-28 14:06:30,225 INFO L290 TraceCheckUtils]: 5: Hoare triple {484#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {484#true} is VALID [2022-04-28 14:06:30,225 INFO L272 TraceCheckUtils]: 6: Hoare triple {484#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {484#true} is VALID [2022-04-28 14:06:30,227 INFO L290 TraceCheckUtils]: 7: Hoare triple {484#true} ~cond := #in~cond; {484#true} is VALID [2022-04-28 14:06:30,228 INFO L290 TraceCheckUtils]: 8: Hoare triple {484#true} assume !(0 == ~cond); {484#true} is VALID [2022-04-28 14:06:30,228 INFO L290 TraceCheckUtils]: 9: Hoare triple {484#true} assume true; {484#true} is VALID [2022-04-28 14:06:30,228 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {484#true} {484#true} #59#return; {484#true} is VALID [2022-04-28 14:06:30,229 INFO L290 TraceCheckUtils]: 11: Hoare triple {484#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {522#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:06:30,230 INFO L290 TraceCheckUtils]: 12: Hoare triple {522#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {522#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:06:30,230 INFO L290 TraceCheckUtils]: 13: Hoare triple {522#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 10);havoc #t~post6; {522#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:06:30,232 INFO L272 TraceCheckUtils]: 14: Hoare triple {522#(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)); {532#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:06:30,232 INFO L290 TraceCheckUtils]: 15: Hoare triple {532#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {536#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:06:30,234 INFO L290 TraceCheckUtils]: 16: Hoare triple {536#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {485#false} is VALID [2022-04-28 14:06:30,234 INFO L290 TraceCheckUtils]: 17: Hoare triple {485#false} assume !false; {485#false} is VALID [2022-04-28 14:06:30,234 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 14:06:30,234 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 14:06:30,234 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:06:30,234 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1277783738] [2022-04-28 14:06:30,235 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:06:30,235 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [18497545] [2022-04-28 14:06:30,235 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [18497545] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:06:30,235 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:06:30,235 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 14:06:30,235 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:06:30,235 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [396389950] [2022-04-28 14:06:30,235 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [396389950] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:06:30,235 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:06:30,235 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 14:06:30,235 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [517550569] [2022-04-28 14:06:30,236 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:06:30,236 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, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-28 14:06:30,236 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:06:30,236 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, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 14:06:30,248 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:06:30,248 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 14:06:30,248 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:06:30,249 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 14:06:30,249 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 14:06:30,249 INFO L87 Difference]: Start difference. First operand 27 states and 30 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, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 14:06:30,374 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:06:30,375 INFO L93 Difference]: Finished difference Result 38 states and 43 transitions. [2022-04-28 14:06:30,375 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 14:06:30,375 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, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-28 14:06:30,375 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:06:30,375 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, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 14:06:30,378 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 43 transitions. [2022-04-28 14:06:30,378 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, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 14:06:30,381 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 43 transitions. [2022-04-28 14:06:30,381 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 43 transitions. [2022-04-28 14:06:30,409 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 14:06:30,412 INFO L225 Difference]: With dead ends: 38 [2022-04-28 14:06:30,412 INFO L226 Difference]: Without dead ends: 36 [2022-04-28 14:06:30,413 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 14 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 14:06:30,421 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 8 mSDsluCounter, 54 mSDsCounter, 0 mSdLazyCounter, 39 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 75 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 39 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 14:06:30,421 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 75 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 39 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 14:06:30,422 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-28 14:06:30,438 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 32. [2022-04-28 14:06:30,438 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:06:30,439 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 14:06:30,439 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 14:06:30,441 INFO L87 Difference]: Start difference. First operand 36 states. Second operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 14:06:30,447 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:06:30,447 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-28 14:06:30,447 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-28 14:06:30,448 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:06:30,448 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:06:30,448 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Second operand 36 states. [2022-04-28 14:06:30,448 INFO L87 Difference]: Start difference. First operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Second operand 36 states. [2022-04-28 14:06:30,451 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:06:30,451 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-28 14:06:30,451 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-28 14:06:30,453 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:06:30,453 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:06:30,453 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:06:30,453 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:06:30,453 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 14:06:30,454 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 35 transitions. [2022-04-28 14:06:30,454 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 35 transitions. Word has length 18 [2022-04-28 14:06:30,455 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:06:30,455 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 35 transitions. [2022-04-28 14:06:30,455 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, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 14:06:30,455 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 35 transitions. [2022-04-28 14:06:30,484 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:06:30,484 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 35 transitions. [2022-04-28 14:06:30,485 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-04-28 14:06:30,485 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:06:30,485 INFO L195 NwaCegarLoop]: trace histogram [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 14:06:30,504 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-28 14:06:30,705 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 14:06:30,705 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:06:30,705 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:06:30,705 INFO L85 PathProgramCache]: Analyzing trace with hash 1094479982, now seen corresponding path program 1 times [2022-04-28 14:06:30,705 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:06:30,705 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [157372022] [2022-04-28 14:06:30,706 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:06:30,707 INFO L85 PathProgramCache]: Analyzing trace with hash 1094479982, now seen corresponding path program 2 times [2022-04-28 14:06:30,707 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:06:30,708 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [178939852] [2022-04-28 14:06:30,709 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:06:30,709 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:06:30,720 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:06:30,720 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1566757431] [2022-04-28 14:06:30,721 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:06:30,721 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:06:30,721 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:06:30,721 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 14:06:30,722 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 14:06:30,752 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:06:30,752 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:06:30,753 INFO L263 TraceCheckSpWp]: Trace formula consists of 95 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 14:06:30,759 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:06:30,760 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:06:30,848 INFO L272 TraceCheckUtils]: 0: Hoare triple {756#true} call ULTIMATE.init(); {756#true} is VALID [2022-04-28 14:06:30,849 INFO L290 TraceCheckUtils]: 1: Hoare triple {756#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);~counter~0 := 0; {756#true} is VALID [2022-04-28 14:06:30,849 INFO L290 TraceCheckUtils]: 2: Hoare triple {756#true} assume true; {756#true} is VALID [2022-04-28 14:06:30,849 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {756#true} {756#true} #65#return; {756#true} is VALID [2022-04-28 14:06:30,849 INFO L272 TraceCheckUtils]: 4: Hoare triple {756#true} call #t~ret7 := main(); {756#true} is VALID [2022-04-28 14:06:30,849 INFO L290 TraceCheckUtils]: 5: Hoare triple {756#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {756#true} is VALID [2022-04-28 14:06:30,849 INFO L272 TraceCheckUtils]: 6: Hoare triple {756#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {756#true} is VALID [2022-04-28 14:06:30,850 INFO L290 TraceCheckUtils]: 7: Hoare triple {756#true} ~cond := #in~cond; {782#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:06:30,850 INFO L290 TraceCheckUtils]: 8: Hoare triple {782#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {786#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:06:30,850 INFO L290 TraceCheckUtils]: 9: Hoare triple {786#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {786#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:06:30,851 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {786#(not (= |assume_abort_if_not_#in~cond| 0))} {756#true} #59#return; {793#(<= 1 main_~b~0)} is VALID [2022-04-28 14:06:30,851 INFO L290 TraceCheckUtils]: 11: Hoare triple {793#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {797#(<= 1 main_~y~0)} is VALID [2022-04-28 14:06:30,851 INFO L290 TraceCheckUtils]: 12: Hoare triple {797#(<= 1 main_~y~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {797#(<= 1 main_~y~0)} is VALID [2022-04-28 14:06:30,852 INFO L290 TraceCheckUtils]: 13: Hoare triple {797#(<= 1 main_~y~0)} assume !!(#t~post6 < 10);havoc #t~post6; {797#(<= 1 main_~y~0)} is VALID [2022-04-28 14:06:30,852 INFO L272 TraceCheckUtils]: 14: Hoare triple {797#(<= 1 main_~y~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {756#true} is VALID [2022-04-28 14:06:30,852 INFO L290 TraceCheckUtils]: 15: Hoare triple {756#true} ~cond := #in~cond; {756#true} is VALID [2022-04-28 14:06:30,852 INFO L290 TraceCheckUtils]: 16: Hoare triple {756#true} assume !(0 == ~cond); {756#true} is VALID [2022-04-28 14:06:30,852 INFO L290 TraceCheckUtils]: 17: Hoare triple {756#true} assume true; {756#true} is VALID [2022-04-28 14:06:30,853 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {756#true} {797#(<= 1 main_~y~0)} #61#return; {797#(<= 1 main_~y~0)} is VALID [2022-04-28 14:06:30,853 INFO L290 TraceCheckUtils]: 19: Hoare triple {797#(<= 1 main_~y~0)} assume !(0 != ~y~0); {757#false} is VALID [2022-04-28 14:06:30,853 INFO L272 TraceCheckUtils]: 20: Hoare triple {757#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {757#false} is VALID [2022-04-28 14:06:30,853 INFO L290 TraceCheckUtils]: 21: Hoare triple {757#false} ~cond := #in~cond; {757#false} is VALID [2022-04-28 14:06:30,853 INFO L290 TraceCheckUtils]: 22: Hoare triple {757#false} assume 0 == ~cond; {757#false} is VALID [2022-04-28 14:06:30,854 INFO L290 TraceCheckUtils]: 23: Hoare triple {757#false} assume !false; {757#false} is VALID [2022-04-28 14:06:30,854 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 14:06:30,854 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 14:06:30,854 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:06:30,854 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [178939852] [2022-04-28 14:06:30,854 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:06:30,855 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1566757431] [2022-04-28 14:06:30,855 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1566757431] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:06:30,855 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:06:30,855 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 14:06:30,855 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:06:30,857 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [157372022] [2022-04-28 14:06:30,859 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [157372022] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:06:30,859 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:06:30,859 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 14:06:30,859 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1499732904] [2022-04-28 14:06:30,859 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:06:30,859 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 24 [2022-04-28 14:06:30,860 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:06:30,860 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 14:06:30,874 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:06:30,874 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 14:06:30,874 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:06:30,875 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 14:06:30,875 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 14:06:30,876 INFO L87 Difference]: Start difference. First operand 32 states and 35 transitions. Second operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 14:06:31,005 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:06:31,005 INFO L93 Difference]: Finished difference Result 42 states and 46 transitions. [2022-04-28 14:06:31,005 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 14:06:31,005 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 24 [2022-04-28 14:06:31,006 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:06:31,006 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 14:06:31,008 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 43 transitions. [2022-04-28 14:06:31,008 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 14:06:31,014 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 43 transitions. [2022-04-28 14:06:31,014 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 43 transitions. [2022-04-28 14:06:31,039 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 14:06:31,040 INFO L225 Difference]: With dead ends: 42 [2022-04-28 14:06:31,040 INFO L226 Difference]: Without dead ends: 35 [2022-04-28 14:06:31,041 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 25 GetRequests, 19 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 14:06:31,042 INFO L413 NwaCegarLoop]: 22 mSDtfsCounter, 17 mSDsluCounter, 63 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 85 SdHoareTripleChecker+Invalid, 44 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 14:06:31,043 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 85 Invalid, 44 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 14:06:31,044 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-28 14:06:31,066 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 33. [2022-04-28 14:06:31,066 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:06:31,066 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 14:06:31,068 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 14:06:31,068 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 14:06:31,069 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:06:31,069 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-28 14:06:31,069 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-28 14:06:31,069 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:06:31,069 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:06:31,070 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 35 states. [2022-04-28 14:06:31,070 INFO L87 Difference]: Start difference. First operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 35 states. [2022-04-28 14:06:31,078 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:06:31,078 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-28 14:06:31,078 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-28 14:06:31,079 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:06:31,079 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:06:31,079 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:06:31,079 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:06:31,080 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 14:06:31,081 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 36 transitions. [2022-04-28 14:06:31,081 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 36 transitions. Word has length 24 [2022-04-28 14:06:31,081 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:06:31,082 INFO L495 AbstractCegarLoop]: Abstraction has 33 states and 36 transitions. [2022-04-28 14:06:31,082 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 14:06:31,082 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 36 transitions. [2022-04-28 14:06:31,108 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:06:31,108 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 36 transitions. [2022-04-28 14:06:31,110 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 14:06:31,110 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:06:31,110 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 1, 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 14:06:31,126 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-28 14:06:31,319 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 14:06:31,320 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:06:31,320 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:06:31,320 INFO L85 PathProgramCache]: Analyzing trace with hash 584619061, now seen corresponding path program 1 times [2022-04-28 14:06:31,320 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:06:31,320 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [629901033] [2022-04-28 14:06:33,555 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 14:06:33,556 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 14:06:33,556 INFO L85 PathProgramCache]: Analyzing trace with hash 584619061, now seen corresponding path program 2 times [2022-04-28 14:06:33,556 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:06:33,556 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [122309093] [2022-04-28 14:06:33,556 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:06:33,556 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:06:33,566 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:06:33,566 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1788623997] [2022-04-28 14:06:33,566 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:06:33,566 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:06:33,566 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:06:33,580 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 14:06:33,583 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 14:06:33,618 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:06:33,618 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:06:33,618 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 14:06:33,626 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:06:33,627 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:06:33,754 INFO L272 TraceCheckUtils]: 0: Hoare triple {1057#true} call ULTIMATE.init(); {1057#true} is VALID [2022-04-28 14:06:33,755 INFO L290 TraceCheckUtils]: 1: Hoare triple {1057#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);~counter~0 := 0; {1065#(<= ~counter~0 0)} is VALID [2022-04-28 14:06:33,755 INFO L290 TraceCheckUtils]: 2: Hoare triple {1065#(<= ~counter~0 0)} assume true; {1065#(<= ~counter~0 0)} is VALID [2022-04-28 14:06:33,755 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1065#(<= ~counter~0 0)} {1057#true} #65#return; {1065#(<= ~counter~0 0)} is VALID [2022-04-28 14:06:33,756 INFO L272 TraceCheckUtils]: 4: Hoare triple {1065#(<= ~counter~0 0)} call #t~ret7 := main(); {1065#(<= ~counter~0 0)} is VALID [2022-04-28 14:06:33,756 INFO L290 TraceCheckUtils]: 5: Hoare triple {1065#(<= ~counter~0 0)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1065#(<= ~counter~0 0)} is VALID [2022-04-28 14:06:33,756 INFO L272 TraceCheckUtils]: 6: Hoare triple {1065#(<= ~counter~0 0)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1065#(<= ~counter~0 0)} is VALID [2022-04-28 14:06:33,757 INFO L290 TraceCheckUtils]: 7: Hoare triple {1065#(<= ~counter~0 0)} ~cond := #in~cond; {1065#(<= ~counter~0 0)} is VALID [2022-04-28 14:06:33,757 INFO L290 TraceCheckUtils]: 8: Hoare triple {1065#(<= ~counter~0 0)} assume !(0 == ~cond); {1065#(<= ~counter~0 0)} is VALID [2022-04-28 14:06:33,757 INFO L290 TraceCheckUtils]: 9: Hoare triple {1065#(<= ~counter~0 0)} assume true; {1065#(<= ~counter~0 0)} is VALID [2022-04-28 14:06:33,758 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1065#(<= ~counter~0 0)} {1065#(<= ~counter~0 0)} #59#return; {1065#(<= ~counter~0 0)} is VALID [2022-04-28 14:06:33,758 INFO L290 TraceCheckUtils]: 11: Hoare triple {1065#(<= ~counter~0 0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1065#(<= ~counter~0 0)} is VALID [2022-04-28 14:06:33,758 INFO L290 TraceCheckUtils]: 12: Hoare triple {1065#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1099#(<= ~counter~0 1)} is VALID [2022-04-28 14:06:33,759 INFO L290 TraceCheckUtils]: 13: Hoare triple {1099#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {1099#(<= ~counter~0 1)} is VALID [2022-04-28 14:06:33,759 INFO L272 TraceCheckUtils]: 14: Hoare triple {1099#(<= ~counter~0 1)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1099#(<= ~counter~0 1)} is VALID [2022-04-28 14:06:33,760 INFO L290 TraceCheckUtils]: 15: Hoare triple {1099#(<= ~counter~0 1)} ~cond := #in~cond; {1099#(<= ~counter~0 1)} is VALID [2022-04-28 14:06:33,760 INFO L290 TraceCheckUtils]: 16: Hoare triple {1099#(<= ~counter~0 1)} assume !(0 == ~cond); {1099#(<= ~counter~0 1)} is VALID [2022-04-28 14:06:33,760 INFO L290 TraceCheckUtils]: 17: Hoare triple {1099#(<= ~counter~0 1)} assume true; {1099#(<= ~counter~0 1)} is VALID [2022-04-28 14:06:33,761 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1099#(<= ~counter~0 1)} {1099#(<= ~counter~0 1)} #61#return; {1099#(<= ~counter~0 1)} is VALID [2022-04-28 14:06:33,763 INFO L290 TraceCheckUtils]: 19: Hoare triple {1099#(<= ~counter~0 1)} assume !!(0 != ~y~0); {1099#(<= ~counter~0 1)} is VALID [2022-04-28 14:06:33,763 INFO L290 TraceCheckUtils]: 20: Hoare triple {1099#(<= ~counter~0 1)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {1099#(<= ~counter~0 1)} is VALID [2022-04-28 14:06:33,763 INFO L290 TraceCheckUtils]: 21: Hoare triple {1099#(<= ~counter~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); {1099#(<= ~counter~0 1)} is VALID [2022-04-28 14:06:33,764 INFO L290 TraceCheckUtils]: 22: Hoare triple {1099#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1130#(<= |main_#t~post6| 1)} is VALID [2022-04-28 14:06:33,764 INFO L290 TraceCheckUtils]: 23: Hoare triple {1130#(<= |main_#t~post6| 1)} assume !(#t~post6 < 10);havoc #t~post6; {1058#false} is VALID [2022-04-28 14:06:33,764 INFO L272 TraceCheckUtils]: 24: Hoare triple {1058#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {1058#false} is VALID [2022-04-28 14:06:33,764 INFO L290 TraceCheckUtils]: 25: Hoare triple {1058#false} ~cond := #in~cond; {1058#false} is VALID [2022-04-28 14:06:33,764 INFO L290 TraceCheckUtils]: 26: Hoare triple {1058#false} assume 0 == ~cond; {1058#false} is VALID [2022-04-28 14:06:33,764 INFO L290 TraceCheckUtils]: 27: Hoare triple {1058#false} assume !false; {1058#false} is VALID [2022-04-28 14:06:33,765 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 14:06:33,765 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:06:33,895 INFO L290 TraceCheckUtils]: 27: Hoare triple {1058#false} assume !false; {1058#false} is VALID [2022-04-28 14:06:33,895 INFO L290 TraceCheckUtils]: 26: Hoare triple {1058#false} assume 0 == ~cond; {1058#false} is VALID [2022-04-28 14:06:33,895 INFO L290 TraceCheckUtils]: 25: Hoare triple {1058#false} ~cond := #in~cond; {1058#false} is VALID [2022-04-28 14:06:33,895 INFO L272 TraceCheckUtils]: 24: Hoare triple {1058#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {1058#false} is VALID [2022-04-28 14:06:33,896 INFO L290 TraceCheckUtils]: 23: Hoare triple {1158#(< |main_#t~post6| 10)} assume !(#t~post6 < 10);havoc #t~post6; {1058#false} is VALID [2022-04-28 14:06:33,896 INFO L290 TraceCheckUtils]: 22: Hoare triple {1162#(< ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1158#(< |main_#t~post6| 10)} is VALID [2022-04-28 14:06:33,897 INFO L290 TraceCheckUtils]: 21: Hoare triple {1162#(< ~counter~0 10)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1162#(< ~counter~0 10)} is VALID [2022-04-28 14:06:33,897 INFO L290 TraceCheckUtils]: 20: Hoare triple {1162#(< ~counter~0 10)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {1162#(< ~counter~0 10)} is VALID [2022-04-28 14:06:33,897 INFO L290 TraceCheckUtils]: 19: Hoare triple {1162#(< ~counter~0 10)} assume !!(0 != ~y~0); {1162#(< ~counter~0 10)} is VALID [2022-04-28 14:06:33,899 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1057#true} {1162#(< ~counter~0 10)} #61#return; {1162#(< ~counter~0 10)} is VALID [2022-04-28 14:06:33,899 INFO L290 TraceCheckUtils]: 17: Hoare triple {1057#true} assume true; {1057#true} is VALID [2022-04-28 14:06:33,899 INFO L290 TraceCheckUtils]: 16: Hoare triple {1057#true} assume !(0 == ~cond); {1057#true} is VALID [2022-04-28 14:06:33,899 INFO L290 TraceCheckUtils]: 15: Hoare triple {1057#true} ~cond := #in~cond; {1057#true} is VALID [2022-04-28 14:06:33,899 INFO L272 TraceCheckUtils]: 14: Hoare triple {1162#(< ~counter~0 10)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1057#true} is VALID [2022-04-28 14:06:33,917 INFO L290 TraceCheckUtils]: 13: Hoare triple {1162#(< ~counter~0 10)} assume !!(#t~post6 < 10);havoc #t~post6; {1162#(< ~counter~0 10)} is VALID [2022-04-28 14:06:33,918 INFO L290 TraceCheckUtils]: 12: Hoare triple {1193#(< ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1162#(< ~counter~0 10)} is VALID [2022-04-28 14:06:33,918 INFO L290 TraceCheckUtils]: 11: Hoare triple {1193#(< ~counter~0 9)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1193#(< ~counter~0 9)} is VALID [2022-04-28 14:06:33,919 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1057#true} {1193#(< ~counter~0 9)} #59#return; {1193#(< ~counter~0 9)} is VALID [2022-04-28 14:06:33,919 INFO L290 TraceCheckUtils]: 9: Hoare triple {1057#true} assume true; {1057#true} is VALID [2022-04-28 14:06:33,919 INFO L290 TraceCheckUtils]: 8: Hoare triple {1057#true} assume !(0 == ~cond); {1057#true} is VALID [2022-04-28 14:06:33,919 INFO L290 TraceCheckUtils]: 7: Hoare triple {1057#true} ~cond := #in~cond; {1057#true} is VALID [2022-04-28 14:06:33,919 INFO L272 TraceCheckUtils]: 6: Hoare triple {1193#(< ~counter~0 9)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1057#true} is VALID [2022-04-28 14:06:33,921 INFO L290 TraceCheckUtils]: 5: Hoare triple {1193#(< ~counter~0 9)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1193#(< ~counter~0 9)} is VALID [2022-04-28 14:06:33,921 INFO L272 TraceCheckUtils]: 4: Hoare triple {1193#(< ~counter~0 9)} call #t~ret7 := main(); {1193#(< ~counter~0 9)} is VALID [2022-04-28 14:06:33,921 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1193#(< ~counter~0 9)} {1057#true} #65#return; {1193#(< ~counter~0 9)} is VALID [2022-04-28 14:06:33,921 INFO L290 TraceCheckUtils]: 2: Hoare triple {1193#(< ~counter~0 9)} assume true; {1193#(< ~counter~0 9)} is VALID [2022-04-28 14:06:33,922 INFO L290 TraceCheckUtils]: 1: Hoare triple {1057#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);~counter~0 := 0; {1193#(< ~counter~0 9)} is VALID [2022-04-28 14:06:33,922 INFO L272 TraceCheckUtils]: 0: Hoare triple {1057#true} call ULTIMATE.init(); {1057#true} is VALID [2022-04-28 14:06:33,922 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 14:06:33,922 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:06:33,922 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [122309093] [2022-04-28 14:06:33,922 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:06:33,923 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1788623997] [2022-04-28 14:06:33,923 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1788623997] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:06:33,923 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:06:33,923 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-28 14:06:33,923 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:06:33,923 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [629901033] [2022-04-28 14:06:33,923 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [629901033] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:06:33,923 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:06:33,923 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 14:06:33,923 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1521639962] [2022-04-28 14:06:33,923 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:06:33,924 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 4 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 28 [2022-04-28 14:06:33,924 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:06:33,924 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 4 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 14:06:33,937 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:06:33,937 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 14:06:33,937 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:06:33,938 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 14:06:33,938 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-28 14:06:33,938 INFO L87 Difference]: Start difference. First operand 33 states and 36 transitions. Second operand has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 4 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 14:06:34,019 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:06:34,019 INFO L93 Difference]: Finished difference Result 44 states and 48 transitions. [2022-04-28 14:06:34,020 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 14:06:34,020 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 4 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 28 [2022-04-28 14:06:34,020 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:06:34,020 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 4 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 14:06:34,021 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 48 transitions. [2022-04-28 14:06:34,021 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 4 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 14:06:34,022 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 48 transitions. [2022-04-28 14:06:34,022 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 48 transitions. [2022-04-28 14:06:34,045 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:06:34,047 INFO L225 Difference]: With dead ends: 44 [2022-04-28 14:06:34,047 INFO L226 Difference]: Without dead ends: 37 [2022-04-28 14:06:34,047 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 56 GetRequests, 49 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-04-28 14:06:34,048 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 7 mSDsluCounter, 48 mSDsCounter, 0 mSdLazyCounter, 11 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 7 SdHoareTripleChecker+Valid, 75 SdHoareTripleChecker+Invalid, 16 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 11 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 14:06:34,048 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [7 Valid, 75 Invalid, 16 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 11 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 14:06:34,049 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-04-28 14:06:34,074 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 37. [2022-04-28 14:06:34,074 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:06:34,074 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand has 37 states, 26 states have (on average 1.1923076923076923) internal successors, (31), 27 states have internal predecessors, (31), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 14:06:34,075 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand has 37 states, 26 states have (on average 1.1923076923076923) internal successors, (31), 27 states have internal predecessors, (31), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 14:06:34,075 INFO L87 Difference]: Start difference. First operand 37 states. Second operand has 37 states, 26 states have (on average 1.1923076923076923) internal successors, (31), 27 states have internal predecessors, (31), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 14:06:34,076 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:06:34,076 INFO L93 Difference]: Finished difference Result 37 states and 41 transitions. [2022-04-28 14:06:34,076 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 41 transitions. [2022-04-28 14:06:34,091 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:06:34,091 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:06:34,091 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 26 states have (on average 1.1923076923076923) internal successors, (31), 27 states have internal predecessors, (31), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 37 states. [2022-04-28 14:06:34,091 INFO L87 Difference]: Start difference. First operand has 37 states, 26 states have (on average 1.1923076923076923) internal successors, (31), 27 states have internal predecessors, (31), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 37 states. [2022-04-28 14:06:34,094 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:06:34,094 INFO L93 Difference]: Finished difference Result 37 states and 41 transitions. [2022-04-28 14:06:34,094 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 41 transitions. [2022-04-28 14:06:34,095 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:06:34,095 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:06:34,095 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:06:34,095 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:06:34,097 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 26 states have (on average 1.1923076923076923) internal successors, (31), 27 states have internal predecessors, (31), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 14:06:34,097 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 41 transitions. [2022-04-28 14:06:34,098 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 41 transitions. Word has length 28 [2022-04-28 14:06:34,100 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:06:34,100 INFO L495 AbstractCegarLoop]: Abstraction has 37 states and 41 transitions. [2022-04-28 14:06:34,100 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 4 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 14:06:34,100 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 41 transitions. [2022-04-28 14:06:34,124 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 14:06:34,124 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 41 transitions. [2022-04-28 14:06:34,124 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 14:06:34,125 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:06:34,125 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:06:34,161 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 14:06:34,325 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 14:06:34,325 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:06:34,325 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:06:34,326 INFO L85 PathProgramCache]: Analyzing trace with hash 586406521, now seen corresponding path program 1 times [2022-04-28 14:06:34,326 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:06:34,326 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1004292948] [2022-04-28 14:06:36,633 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 14:06:36,634 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 14:06:36,634 INFO L85 PathProgramCache]: Analyzing trace with hash 586406521, now seen corresponding path program 2 times [2022-04-28 14:06:36,634 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:06:36,634 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [247829103] [2022-04-28 14:06:36,634 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:06:36,635 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:06:36,667 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:06:36,667 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2091943658] [2022-04-28 14:06:36,667 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:06:36,667 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:06:36,667 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:06:36,678 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 14:06:36,679 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 14:06:36,718 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:06:36,718 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:06:36,719 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-28 14:06:36,747 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:06:36,748 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:06:37,670 INFO L272 TraceCheckUtils]: 0: Hoare triple {1470#true} call ULTIMATE.init(); {1470#true} is VALID [2022-04-28 14:06:37,670 INFO L290 TraceCheckUtils]: 1: Hoare triple {1470#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);~counter~0 := 0; {1470#true} is VALID [2022-04-28 14:06:37,670 INFO L290 TraceCheckUtils]: 2: Hoare triple {1470#true} assume true; {1470#true} is VALID [2022-04-28 14:06:37,670 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1470#true} {1470#true} #65#return; {1470#true} is VALID [2022-04-28 14:06:37,670 INFO L272 TraceCheckUtils]: 4: Hoare triple {1470#true} call #t~ret7 := main(); {1470#true} is VALID [2022-04-28 14:06:37,670 INFO L290 TraceCheckUtils]: 5: Hoare triple {1470#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1470#true} is VALID [2022-04-28 14:06:37,670 INFO L272 TraceCheckUtils]: 6: Hoare triple {1470#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1470#true} is VALID [2022-04-28 14:06:37,671 INFO L290 TraceCheckUtils]: 7: Hoare triple {1470#true} ~cond := #in~cond; {1496#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:06:37,671 INFO L290 TraceCheckUtils]: 8: Hoare triple {1496#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1500#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:06:37,671 INFO L290 TraceCheckUtils]: 9: Hoare triple {1500#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1500#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:06:37,672 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1500#(not (= |assume_abort_if_not_#in~cond| 0))} {1470#true} #59#return; {1507#(<= 1 main_~b~0)} is VALID [2022-04-28 14:06:37,672 INFO L290 TraceCheckUtils]: 11: Hoare triple {1507#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1511#(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 14:06:37,673 INFO L290 TraceCheckUtils]: 12: Hoare triple {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1511#(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 14:06:37,673 INFO L290 TraceCheckUtils]: 13: Hoare triple {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 10);havoc #t~post6; {1511#(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 14:06:37,673 INFO L272 TraceCheckUtils]: 14: Hoare triple {1511#(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)); {1470#true} is VALID [2022-04-28 14:06:37,673 INFO L290 TraceCheckUtils]: 15: Hoare triple {1470#true} ~cond := #in~cond; {1524#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:06:37,674 INFO L290 TraceCheckUtils]: 16: Hoare triple {1524#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1528#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:06:37,674 INFO L290 TraceCheckUtils]: 17: Hoare triple {1528#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1528#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:06:37,675 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1528#(not (= |__VERIFIER_assert_#in~cond| 0))} {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #61#return; {1511#(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 14:06:37,675 INFO L290 TraceCheckUtils]: 19: Hoare triple {1511#(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); {1511#(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 14:06:37,676 INFO L290 TraceCheckUtils]: 20: Hoare triple {1511#(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)); {1541#(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 14:06:37,676 INFO L290 TraceCheckUtils]: 21: Hoare triple {1541#(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); {1545#(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 14:06:37,677 INFO L290 TraceCheckUtils]: 22: Hoare triple {1545#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1545#(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 14:06:37,677 INFO L290 TraceCheckUtils]: 23: Hoare triple {1545#(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 !!(#t~post6 < 10);havoc #t~post6; {1545#(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 14:06:37,679 INFO L272 TraceCheckUtils]: 24: Hoare triple {1545#(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)); {1555#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:06:37,680 INFO L290 TraceCheckUtils]: 25: Hoare triple {1555#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1559#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:06:37,680 INFO L290 TraceCheckUtils]: 26: Hoare triple {1559#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1471#false} is VALID [2022-04-28 14:06:37,680 INFO L290 TraceCheckUtils]: 27: Hoare triple {1471#false} assume !false; {1471#false} is VALID [2022-04-28 14:06:37,680 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 14:06:37,680 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:07:13,693 INFO L290 TraceCheckUtils]: 27: Hoare triple {1471#false} assume !false; {1471#false} is VALID [2022-04-28 14:07:13,694 INFO L290 TraceCheckUtils]: 26: Hoare triple {1559#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1471#false} is VALID [2022-04-28 14:07:13,694 INFO L290 TraceCheckUtils]: 25: Hoare triple {1555#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1559#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:07:13,695 INFO L272 TraceCheckUtils]: 24: Hoare triple {1575#(= (+ 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)); {1555#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:07:13,696 INFO L290 TraceCheckUtils]: 23: Hoare triple {1575#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !!(#t~post6 < 10);havoc #t~post6; {1575#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:07:13,696 INFO L290 TraceCheckUtils]: 22: Hoare triple {1575#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1575#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:07:13,700 INFO L290 TraceCheckUtils]: 21: Hoare triple {1585#(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); {1575#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:07:13,701 INFO L290 TraceCheckUtils]: 20: Hoare triple {1589#(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)); {1585#(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 14:07:13,702 INFO L290 TraceCheckUtils]: 19: Hoare triple {1589#(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); {1589#(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 14:07:13,704 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1528#(not (= |__VERIFIER_assert_#in~cond| 0))} {1596#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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)))} #61#return; {1589#(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 14:07:13,704 INFO L290 TraceCheckUtils]: 17: Hoare triple {1528#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1528#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:07:13,705 INFO L290 TraceCheckUtils]: 16: Hoare triple {1606#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1528#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:07:13,705 INFO L290 TraceCheckUtils]: 15: Hoare triple {1470#true} ~cond := #in~cond; {1606#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:07:13,705 INFO L272 TraceCheckUtils]: 14: Hoare triple {1596#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1470#true} is VALID [2022-04-28 14:07:13,705 INFO L290 TraceCheckUtils]: 13: Hoare triple {1596#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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)))} assume !!(#t~post6 < 10);havoc #t~post6; {1596#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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)))} is VALID [2022-04-28 14:07:13,706 INFO L290 TraceCheckUtils]: 12: Hoare triple {1596#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1596#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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)))} is VALID [2022-04-28 14:07:13,706 INFO L290 TraceCheckUtils]: 11: Hoare triple {1619#(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; {1596#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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)))} is VALID [2022-04-28 14:07:13,707 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1500#(not (= |assume_abort_if_not_#in~cond| 0))} {1470#true} #59#return; {1619#(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 14:07:13,708 INFO L290 TraceCheckUtils]: 9: Hoare triple {1500#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1500#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:07:13,708 INFO L290 TraceCheckUtils]: 8: Hoare triple {1632#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1500#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:07:13,708 INFO L290 TraceCheckUtils]: 7: Hoare triple {1470#true} ~cond := #in~cond; {1632#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 14:07:13,708 INFO L272 TraceCheckUtils]: 6: Hoare triple {1470#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1470#true} is VALID [2022-04-28 14:07:13,708 INFO L290 TraceCheckUtils]: 5: Hoare triple {1470#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1470#true} is VALID [2022-04-28 14:07:13,708 INFO L272 TraceCheckUtils]: 4: Hoare triple {1470#true} call #t~ret7 := main(); {1470#true} is VALID [2022-04-28 14:07:13,709 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1470#true} {1470#true} #65#return; {1470#true} is VALID [2022-04-28 14:07:13,709 INFO L290 TraceCheckUtils]: 2: Hoare triple {1470#true} assume true; {1470#true} is VALID [2022-04-28 14:07:13,709 INFO L290 TraceCheckUtils]: 1: Hoare triple {1470#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);~counter~0 := 0; {1470#true} is VALID [2022-04-28 14:07:13,709 INFO L272 TraceCheckUtils]: 0: Hoare triple {1470#true} call ULTIMATE.init(); {1470#true} is VALID [2022-04-28 14:07:13,709 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 14:07:13,709 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:07:13,709 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [247829103] [2022-04-28 14:07:13,709 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:07:13,709 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2091943658] [2022-04-28 14:07:13,709 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2091943658] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:07:13,709 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:07:13,710 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 13] total 19 [2022-04-28 14:07:13,710 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:07:13,710 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1004292948] [2022-04-28 14:07:13,710 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1004292948] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:07:13,710 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:07:13,710 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 14:07:13,710 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [998468536] [2022-04-28 14:07:13,710 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:07:13,710 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 1.6666666666666667) internal successors, (20), 10 states have internal predecessors, (20), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 28 [2022-04-28 14:07:13,711 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:07:13,711 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 1.6666666666666667) internal successors, (20), 10 states have internal predecessors, (20), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 14:07:13,732 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:07:13,732 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 14:07:13,732 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:07:13,733 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 14:07:13,733 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=280, Unknown=0, NotChecked=0, Total=342 [2022-04-28 14:07:13,733 INFO L87 Difference]: Start difference. First operand 37 states and 41 transitions. Second operand has 12 states, 12 states have (on average 1.6666666666666667) internal successors, (20), 10 states have internal predecessors, (20), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 14:07:14,162 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:07:14,162 INFO L93 Difference]: Finished difference Result 55 states and 61 transitions. [2022-04-28 14:07:14,162 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 14:07:14,162 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 1.6666666666666667) internal successors, (20), 10 states have internal predecessors, (20), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 28 [2022-04-28 14:07:14,163 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:07:14,163 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 1.6666666666666667) internal successors, (20), 10 states have internal predecessors, (20), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 14:07:14,164 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 55 transitions. [2022-04-28 14:07:14,164 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 1.6666666666666667) internal successors, (20), 10 states have internal predecessors, (20), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 14:07:14,166 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 55 transitions. [2022-04-28 14:07:14,166 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 55 transitions. [2022-04-28 14:07:14,203 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 14:07:14,204 INFO L225 Difference]: With dead ends: 55 [2022-04-28 14:07:14,204 INFO L226 Difference]: Without dead ends: 48 [2022-04-28 14:07:14,204 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 36 SyntacticMatches, 2 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 76 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=80, Invalid=382, Unknown=0, NotChecked=0, Total=462 [2022-04-28 14:07:14,204 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 34 mSDsluCounter, 94 mSDsCounter, 0 mSdLazyCounter, 147 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 114 SdHoareTripleChecker+Invalid, 156 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 147 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 14:07:14,205 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [36 Valid, 114 Invalid, 156 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 147 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 14:07:14,205 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-28 14:07:14,256 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 46. [2022-04-28 14:07:14,256 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:07:14,256 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 46 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 34 states have internal predecessors, (38), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 14:07:14,256 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 46 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 34 states have internal predecessors, (38), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 14:07:14,257 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 46 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 34 states have internal predecessors, (38), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 14:07:14,258 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:07:14,258 INFO L93 Difference]: Finished difference Result 48 states and 53 transitions. [2022-04-28 14:07:14,258 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 53 transitions. [2022-04-28 14:07:14,258 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:07:14,258 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:07:14,258 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 34 states have internal predecessors, (38), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 48 states. [2022-04-28 14:07:14,258 INFO L87 Difference]: Start difference. First operand has 46 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 34 states have internal predecessors, (38), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 48 states. [2022-04-28 14:07:14,259 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:07:14,259 INFO L93 Difference]: Finished difference Result 48 states and 53 transitions. [2022-04-28 14:07:14,259 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 53 transitions. [2022-04-28 14:07:14,259 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:07:14,260 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:07:14,260 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:07:14,260 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:07:14,260 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 34 states have internal predecessors, (38), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 14:07:14,261 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 50 transitions. [2022-04-28 14:07:14,261 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 50 transitions. Word has length 28 [2022-04-28 14:07:14,261 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:07:14,261 INFO L495 AbstractCegarLoop]: Abstraction has 46 states and 50 transitions. [2022-04-28 14:07:14,261 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 1.6666666666666667) internal successors, (20), 10 states have internal predecessors, (20), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 14:07:14,261 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 50 transitions. [2022-04-28 14:07:14,324 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:07:14,324 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2022-04-28 14:07:14,325 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 14:07:14,325 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:07:14,325 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:07:14,341 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-28 14:07:14,541 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 14:07:14,541 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:07:14,541 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:07:14,541 INFO L85 PathProgramCache]: Analyzing trace with hash 1395753147, now seen corresponding path program 1 times [2022-04-28 14:07:14,541 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:07:14,542 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1460914980] [2022-04-28 14:07:17,640 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 14:07:17,640 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 14:07:17,640 INFO L85 PathProgramCache]: Analyzing trace with hash 1395753147, now seen corresponding path program 2 times [2022-04-28 14:07:17,641 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:07:17,641 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1271722978] [2022-04-28 14:07:17,641 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:07:17,641 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:07:17,654 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:07:17,654 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1373608575] [2022-04-28 14:07:17,654 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:07:17,654 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:07:17,654 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:07:17,672 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 14:07:17,672 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 14:07:17,716 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:07:17,716 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:07:17,717 INFO L263 TraceCheckSpWp]: Trace formula consists of 109 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-28 14:07:17,728 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:07:17,729 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:07:31,441 INFO L272 TraceCheckUtils]: 0: Hoare triple {1960#true} call ULTIMATE.init(); {1960#true} is VALID [2022-04-28 14:07:31,441 INFO L290 TraceCheckUtils]: 1: Hoare triple {1960#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);~counter~0 := 0; {1960#true} is VALID [2022-04-28 14:07:31,441 INFO L290 TraceCheckUtils]: 2: Hoare triple {1960#true} assume true; {1960#true} is VALID [2022-04-28 14:07:31,441 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1960#true} {1960#true} #65#return; {1960#true} is VALID [2022-04-28 14:07:31,442 INFO L272 TraceCheckUtils]: 4: Hoare triple {1960#true} call #t~ret7 := main(); {1960#true} is VALID [2022-04-28 14:07:31,442 INFO L290 TraceCheckUtils]: 5: Hoare triple {1960#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1960#true} is VALID [2022-04-28 14:07:31,442 INFO L272 TraceCheckUtils]: 6: Hoare triple {1960#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1960#true} is VALID [2022-04-28 14:07:31,446 INFO L290 TraceCheckUtils]: 7: Hoare triple {1960#true} ~cond := #in~cond; {1986#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:07:31,447 INFO L290 TraceCheckUtils]: 8: Hoare triple {1986#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1990#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:07:31,447 INFO L290 TraceCheckUtils]: 9: Hoare triple {1990#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1990#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:07:31,448 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1990#(not (= |assume_abort_if_not_#in~cond| 0))} {1960#true} #59#return; {1997#(<= 1 main_~b~0)} is VALID [2022-04-28 14:07:31,448 INFO L290 TraceCheckUtils]: 11: Hoare triple {1997#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2001#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:07:31,448 INFO L290 TraceCheckUtils]: 12: Hoare triple {2001#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2001#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:07:31,449 INFO L290 TraceCheckUtils]: 13: Hoare triple {2001#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 10);havoc #t~post6; {2001#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:07:31,449 INFO L272 TraceCheckUtils]: 14: Hoare triple {2001#(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)); {1960#true} is VALID [2022-04-28 14:07:31,449 INFO L290 TraceCheckUtils]: 15: Hoare triple {1960#true} ~cond := #in~cond; {2014#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:07:31,450 INFO L290 TraceCheckUtils]: 16: Hoare triple {2014#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2018#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:07:31,450 INFO L290 TraceCheckUtils]: 17: Hoare triple {2018#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2018#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:07:31,451 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2018#(not (= |__VERIFIER_assert_#in~cond| 0))} {2001#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #61#return; {2025#(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 14:07:31,451 INFO L290 TraceCheckUtils]: 19: Hoare triple {2025#(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); {2025#(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 14:07:31,452 INFO L290 TraceCheckUtils]: 20: Hoare triple {2025#(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);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2032#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~b~0 main_~x~0)) (+ main_~x~0 (* main_~b~0 main_~a~0))) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:07:31,453 INFO L290 TraceCheckUtils]: 21: Hoare triple {2032#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~b~0 main_~x~0)) (+ main_~x~0 (* main_~b~0 main_~a~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); {2036#(and (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (+ main_~a~0 (* main_~b~0 main_~a~0))) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:07:31,453 INFO L290 TraceCheckUtils]: 22: Hoare triple {2036#(and (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (+ main_~a~0 (* main_~b~0 main_~a~0))) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2036#(and (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (+ main_~a~0 (* main_~b~0 main_~a~0))) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:07:31,453 INFO L290 TraceCheckUtils]: 23: Hoare triple {2036#(and (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (+ main_~a~0 (* main_~b~0 main_~a~0))) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !!(#t~post6 < 10);havoc #t~post6; {2036#(and (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (+ main_~a~0 (* main_~b~0 main_~a~0))) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:07:31,902 INFO L272 TraceCheckUtils]: 24: Hoare triple {2036#(and (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (+ main_~a~0 (* main_~b~0 main_~a~0))) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 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)); {2046#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:07:31,903 INFO L290 TraceCheckUtils]: 25: Hoare triple {2046#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2050#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:07:31,903 INFO L290 TraceCheckUtils]: 26: Hoare triple {2050#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1961#false} is VALID [2022-04-28 14:07:31,903 INFO L290 TraceCheckUtils]: 27: Hoare triple {1961#false} assume !false; {1961#false} is VALID [2022-04-28 14:07:31,904 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 14:07:31,904 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:08:41,097 INFO L290 TraceCheckUtils]: 27: Hoare triple {1961#false} assume !false; {1961#false} is VALID [2022-04-28 14:08:41,097 INFO L290 TraceCheckUtils]: 26: Hoare triple {2050#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1961#false} is VALID [2022-04-28 14:08:41,098 INFO L290 TraceCheckUtils]: 25: Hoare triple {2046#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2050#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:08:41,098 INFO L272 TraceCheckUtils]: 24: Hoare triple {2066#(= (+ 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)); {2046#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:08:41,099 INFO L290 TraceCheckUtils]: 23: Hoare triple {2066#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !!(#t~post6 < 10);havoc #t~post6; {2066#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:08:41,099 INFO L290 TraceCheckUtils]: 22: Hoare triple {2066#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2066#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:08:41,103 INFO L290 TraceCheckUtils]: 21: Hoare triple {2076#(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); {2066#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:08:41,106 INFO L290 TraceCheckUtils]: 20: Hoare triple {2080#(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; {2076#(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 14:08:41,106 INFO L290 TraceCheckUtils]: 19: Hoare triple {2080#(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); {2080#(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 14:08:41,474 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2018#(not (= |__VERIFIER_assert_#in~cond| 0))} {1960#true} #61#return; {2080#(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 14:08:41,474 INFO L290 TraceCheckUtils]: 17: Hoare triple {2018#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2018#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:08:41,475 INFO L290 TraceCheckUtils]: 16: Hoare triple {2096#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2018#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:08:41,475 INFO L290 TraceCheckUtils]: 15: Hoare triple {1960#true} ~cond := #in~cond; {2096#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:08:41,475 INFO L272 TraceCheckUtils]: 14: Hoare triple {1960#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1960#true} is VALID [2022-04-28 14:08:41,475 INFO L290 TraceCheckUtils]: 13: Hoare triple {1960#true} assume !!(#t~post6 < 10);havoc #t~post6; {1960#true} is VALID [2022-04-28 14:08:41,476 INFO L290 TraceCheckUtils]: 12: Hoare triple {1960#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1960#true} is VALID [2022-04-28 14:08:41,476 INFO L290 TraceCheckUtils]: 11: Hoare triple {1960#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1960#true} is VALID [2022-04-28 14:08:41,476 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1960#true} {1960#true} #59#return; {1960#true} is VALID [2022-04-28 14:08:41,476 INFO L290 TraceCheckUtils]: 9: Hoare triple {1960#true} assume true; {1960#true} is VALID [2022-04-28 14:08:41,476 INFO L290 TraceCheckUtils]: 8: Hoare triple {1960#true} assume !(0 == ~cond); {1960#true} is VALID [2022-04-28 14:08:41,476 INFO L290 TraceCheckUtils]: 7: Hoare triple {1960#true} ~cond := #in~cond; {1960#true} is VALID [2022-04-28 14:08:41,476 INFO L272 TraceCheckUtils]: 6: Hoare triple {1960#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1960#true} is VALID [2022-04-28 14:08:41,476 INFO L290 TraceCheckUtils]: 5: Hoare triple {1960#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1960#true} is VALID [2022-04-28 14:08:41,476 INFO L272 TraceCheckUtils]: 4: Hoare triple {1960#true} call #t~ret7 := main(); {1960#true} is VALID [2022-04-28 14:08:41,477 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1960#true} {1960#true} #65#return; {1960#true} is VALID [2022-04-28 14:08:41,477 INFO L290 TraceCheckUtils]: 2: Hoare triple {1960#true} assume true; {1960#true} is VALID [2022-04-28 14:08:41,477 INFO L290 TraceCheckUtils]: 1: Hoare triple {1960#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);~counter~0 := 0; {1960#true} is VALID [2022-04-28 14:08:41,477 INFO L272 TraceCheckUtils]: 0: Hoare triple {1960#true} call ULTIMATE.init(); {1960#true} is VALID [2022-04-28 14:08:41,477 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 4 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 14:08:41,477 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:08:41,477 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1271722978] [2022-04-28 14:08:41,477 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:08:41,478 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1373608575] [2022-04-28 14:08:41,478 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1373608575] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:08:41,478 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:08:41,478 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9] total 17 [2022-04-28 14:08:41,478 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:08:41,478 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1460914980] [2022-04-28 14:08:41,478 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1460914980] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:08:41,478 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:08:41,478 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 14:08:41,478 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [271234620] [2022-04-28 14:08:41,479 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:08:41,479 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 1.5384615384615385) internal successors, (20), 11 states have internal predecessors, (20), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 28 [2022-04-28 14:08:41,479 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:08:41,479 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 1.5384615384615385) internal successors, (20), 11 states have internal predecessors, (20), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 14:08:42,002 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:08:42,002 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 14:08:42,002 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:08:42,002 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 14:08:42,003 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=224, Unknown=0, NotChecked=0, Total=272 [2022-04-28 14:08:42,003 INFO L87 Difference]: Start difference. First operand 46 states and 50 transitions. Second operand has 13 states, 13 states have (on average 1.5384615384615385) internal successors, (20), 11 states have internal predecessors, (20), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 14:08:46,379 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 14:08:51,144 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 14:08:54,017 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:08:54,017 INFO L93 Difference]: Finished difference Result 57 states and 63 transitions. [2022-04-28 14:08:54,017 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 14:08:54,018 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 1.5384615384615385) internal successors, (20), 11 states have internal predecessors, (20), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 28 [2022-04-28 14:08:54,018 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:08:54,018 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 1.5384615384615385) internal successors, (20), 11 states have internal predecessors, (20), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 14:08:54,019 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 52 transitions. [2022-04-28 14:08:54,019 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 1.5384615384615385) internal successors, (20), 11 states have internal predecessors, (20), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 14:08:54,021 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 52 transitions. [2022-04-28 14:08:54,021 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 52 transitions. [2022-04-28 14:08:56,069 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 51 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 14:08:56,070 INFO L225 Difference]: With dead ends: 57 [2022-04-28 14:08:56,070 INFO L226 Difference]: Without dead ends: 55 [2022-04-28 14:08:56,070 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 39 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 3.2s TimeCoverageRelationStatistics Valid=65, Invalid=315, Unknown=0, NotChecked=0, Total=380 [2022-04-28 14:08:56,071 INFO L413 NwaCegarLoop]: 19 mSDtfsCounter, 30 mSDsluCounter, 123 mSDsCounter, 0 mSdLazyCounter, 214 mSolverCounterSat, 8 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 142 SdHoareTripleChecker+Invalid, 224 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 214 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.0s IncrementalHoareTripleChecker+Time [2022-04-28 14:08:56,071 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 142 Invalid, 224 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 214 Invalid, 2 Unknown, 0 Unchecked, 6.0s Time] [2022-04-28 14:08:56,071 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-04-28 14:08:56,115 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 51. [2022-04-28 14:08:56,115 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:08:56,115 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand has 51 states, 36 states have (on average 1.1388888888888888) internal successors, (41), 38 states have internal predecessors, (41), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:08:56,116 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand has 51 states, 36 states have (on average 1.1388888888888888) internal successors, (41), 38 states have internal predecessors, (41), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:08:56,116 INFO L87 Difference]: Start difference. First operand 55 states. Second operand has 51 states, 36 states have (on average 1.1388888888888888) internal successors, (41), 38 states have internal predecessors, (41), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:08:56,117 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:08:56,117 INFO L93 Difference]: Finished difference Result 55 states and 61 transitions. [2022-04-28 14:08:56,117 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 61 transitions. [2022-04-28 14:08:56,118 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:08:56,118 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:08:56,118 INFO L74 IsIncluded]: Start isIncluded. First operand has 51 states, 36 states have (on average 1.1388888888888888) internal successors, (41), 38 states have internal predecessors, (41), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 55 states. [2022-04-28 14:08:56,118 INFO L87 Difference]: Start difference. First operand has 51 states, 36 states have (on average 1.1388888888888888) internal successors, (41), 38 states have internal predecessors, (41), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 55 states. [2022-04-28 14:08:56,119 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:08:56,119 INFO L93 Difference]: Finished difference Result 55 states and 61 transitions. [2022-04-28 14:08:56,120 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 61 transitions. [2022-04-28 14:08:56,120 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:08:56,120 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:08:56,120 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:08:56,120 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:08:56,120 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 51 states, 36 states have (on average 1.1388888888888888) internal successors, (41), 38 states have internal predecessors, (41), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:08:56,121 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 55 transitions. [2022-04-28 14:08:56,121 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 55 transitions. Word has length 28 [2022-04-28 14:08:56,123 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:08:56,123 INFO L495 AbstractCegarLoop]: Abstraction has 51 states and 55 transitions. [2022-04-28 14:08:56,123 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 1.5384615384615385) internal successors, (20), 11 states have internal predecessors, (20), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 14:08:56,123 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 51 states and 55 transitions. [2022-04-28 14:08:58,195 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 54 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 14:08:58,195 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 55 transitions. [2022-04-28 14:08:58,197 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-28 14:08:58,197 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:08:58,197 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:08:58,214 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-04-28 14:08:58,407 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 14:08:58,407 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:08:58,408 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:08:58,408 INFO L85 PathProgramCache]: Analyzing trace with hash -1513703477, now seen corresponding path program 1 times [2022-04-28 14:08:58,408 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:08:58,408 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [886649784] [2022-04-28 14:08:58,714 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 14:08:58,714 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 14:08:58,714 INFO L85 PathProgramCache]: Analyzing trace with hash -1513703477, now seen corresponding path program 2 times [2022-04-28 14:08:58,714 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:08:58,714 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [402655196] [2022-04-28 14:08:58,714 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:08:58,714 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:08:58,722 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:08:58,723 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1942545169] [2022-04-28 14:08:58,723 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:08:58,723 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:08:58,723 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:08:58,724 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 14:08:58,724 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 14:08:58,761 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:08:58,761 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:08:58,762 INFO L263 TraceCheckSpWp]: Trace formula consists of 120 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 14:08:58,768 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:08:58,768 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:09:00,936 INFO L272 TraceCheckUtils]: 0: Hoare triple {2476#true} call ULTIMATE.init(); {2476#true} is VALID [2022-04-28 14:09:00,936 INFO L290 TraceCheckUtils]: 1: Hoare triple {2476#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);~counter~0 := 0; {2476#true} is VALID [2022-04-28 14:09:00,936 INFO L290 TraceCheckUtils]: 2: Hoare triple {2476#true} assume true; {2476#true} is VALID [2022-04-28 14:09:00,936 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2476#true} {2476#true} #65#return; {2476#true} is VALID [2022-04-28 14:09:00,936 INFO L272 TraceCheckUtils]: 4: Hoare triple {2476#true} call #t~ret7 := main(); {2476#true} is VALID [2022-04-28 14:09:00,936 INFO L290 TraceCheckUtils]: 5: Hoare triple {2476#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2476#true} is VALID [2022-04-28 14:09:00,936 INFO L272 TraceCheckUtils]: 6: Hoare triple {2476#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2476#true} is VALID [2022-04-28 14:09:00,936 INFO L290 TraceCheckUtils]: 7: Hoare triple {2476#true} ~cond := #in~cond; {2476#true} is VALID [2022-04-28 14:09:00,937 INFO L290 TraceCheckUtils]: 8: Hoare triple {2476#true} assume !(0 == ~cond); {2476#true} is VALID [2022-04-28 14:09:00,937 INFO L290 TraceCheckUtils]: 9: Hoare triple {2476#true} assume true; {2476#true} is VALID [2022-04-28 14:09:00,937 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2476#true} {2476#true} #59#return; {2476#true} is VALID [2022-04-28 14:09:00,937 INFO L290 TraceCheckUtils]: 11: Hoare triple {2476#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2476#true} is VALID [2022-04-28 14:09:00,937 INFO L290 TraceCheckUtils]: 12: Hoare triple {2476#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2476#true} is VALID [2022-04-28 14:09:00,937 INFO L290 TraceCheckUtils]: 13: Hoare triple {2476#true} assume !!(#t~post6 < 10);havoc #t~post6; {2476#true} is VALID [2022-04-28 14:09:00,937 INFO L272 TraceCheckUtils]: 14: Hoare triple {2476#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2476#true} is VALID [2022-04-28 14:09:00,937 INFO L290 TraceCheckUtils]: 15: Hoare triple {2476#true} ~cond := #in~cond; {2476#true} is VALID [2022-04-28 14:09:00,937 INFO L290 TraceCheckUtils]: 16: Hoare triple {2476#true} assume !(0 == ~cond); {2476#true} is VALID [2022-04-28 14:09:00,937 INFO L290 TraceCheckUtils]: 17: Hoare triple {2476#true} assume true; {2476#true} is VALID [2022-04-28 14:09:00,937 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2476#true} {2476#true} #61#return; {2476#true} is VALID [2022-04-28 14:09:00,937 INFO L290 TraceCheckUtils]: 19: Hoare triple {2476#true} assume !!(0 != ~y~0); {2476#true} is VALID [2022-04-28 14:09:00,937 INFO L290 TraceCheckUtils]: 20: Hoare triple {2476#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; {2476#true} is VALID [2022-04-28 14:09:00,937 INFO L290 TraceCheckUtils]: 21: Hoare triple {2476#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); {2476#true} is VALID [2022-04-28 14:09:00,938 INFO L290 TraceCheckUtils]: 22: Hoare triple {2476#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2476#true} is VALID [2022-04-28 14:09:00,938 INFO L290 TraceCheckUtils]: 23: Hoare triple {2476#true} assume !!(#t~post6 < 10);havoc #t~post6; {2476#true} is VALID [2022-04-28 14:09:00,938 INFO L272 TraceCheckUtils]: 24: Hoare triple {2476#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2476#true} is VALID [2022-04-28 14:09:00,939 INFO L290 TraceCheckUtils]: 25: Hoare triple {2476#true} ~cond := #in~cond; {2556#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:09:00,939 INFO L290 TraceCheckUtils]: 26: Hoare triple {2556#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2560#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:09:00,939 INFO L290 TraceCheckUtils]: 27: Hoare triple {2560#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2560#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:09:02,942 WARN L284 TraceCheckUtils]: 28: Hoare quadruple {2560#(not (= |__VERIFIER_assert_#in~cond| 0))} {2476#true} #61#return; {2567#(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 14:09:02,942 INFO L290 TraceCheckUtils]: 29: Hoare triple {2567#(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); {2571#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:09:02,943 INFO L272 TraceCheckUtils]: 30: Hoare triple {2571#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2575#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:09:02,943 INFO L290 TraceCheckUtils]: 31: Hoare triple {2575#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2579#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:09:02,944 INFO L290 TraceCheckUtils]: 32: Hoare triple {2579#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2477#false} is VALID [2022-04-28 14:09:02,944 INFO L290 TraceCheckUtils]: 33: Hoare triple {2477#false} assume !false; {2477#false} is VALID [2022-04-28 14:09:02,944 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 14:09:02,944 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:09:10,563 INFO L290 TraceCheckUtils]: 33: Hoare triple {2477#false} assume !false; {2477#false} is VALID [2022-04-28 14:09:10,564 INFO L290 TraceCheckUtils]: 32: Hoare triple {2579#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2477#false} is VALID [2022-04-28 14:09:10,564 INFO L290 TraceCheckUtils]: 31: Hoare triple {2575#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2579#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:09:10,564 INFO L272 TraceCheckUtils]: 30: Hoare triple {2571#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2575#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:09:10,565 INFO L290 TraceCheckUtils]: 29: Hoare triple {2598#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} assume !(0 != ~y~0); {2571#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:09:10,565 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2560#(not (= |__VERIFIER_assert_#in~cond| 0))} {2476#true} #61#return; {2598#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 14:09:10,566 INFO L290 TraceCheckUtils]: 27: Hoare triple {2560#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2560#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:09:10,566 INFO L290 TraceCheckUtils]: 26: Hoare triple {2611#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2560#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:09:10,566 INFO L290 TraceCheckUtils]: 25: Hoare triple {2476#true} ~cond := #in~cond; {2611#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:09:10,566 INFO L272 TraceCheckUtils]: 24: Hoare triple {2476#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2476#true} is VALID [2022-04-28 14:09:10,567 INFO L290 TraceCheckUtils]: 23: Hoare triple {2476#true} assume !!(#t~post6 < 10);havoc #t~post6; {2476#true} is VALID [2022-04-28 14:09:10,567 INFO L290 TraceCheckUtils]: 22: Hoare triple {2476#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2476#true} is VALID [2022-04-28 14:09:10,567 INFO L290 TraceCheckUtils]: 21: Hoare triple {2476#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); {2476#true} is VALID [2022-04-28 14:09:10,567 INFO L290 TraceCheckUtils]: 20: Hoare triple {2476#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; {2476#true} is VALID [2022-04-28 14:09:10,567 INFO L290 TraceCheckUtils]: 19: Hoare triple {2476#true} assume !!(0 != ~y~0); {2476#true} is VALID [2022-04-28 14:09:10,567 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2476#true} {2476#true} #61#return; {2476#true} is VALID [2022-04-28 14:09:10,567 INFO L290 TraceCheckUtils]: 17: Hoare triple {2476#true} assume true; {2476#true} is VALID [2022-04-28 14:09:10,567 INFO L290 TraceCheckUtils]: 16: Hoare triple {2476#true} assume !(0 == ~cond); {2476#true} is VALID [2022-04-28 14:09:10,567 INFO L290 TraceCheckUtils]: 15: Hoare triple {2476#true} ~cond := #in~cond; {2476#true} is VALID [2022-04-28 14:09:10,567 INFO L272 TraceCheckUtils]: 14: Hoare triple {2476#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2476#true} is VALID [2022-04-28 14:09:10,567 INFO L290 TraceCheckUtils]: 13: Hoare triple {2476#true} assume !!(#t~post6 < 10);havoc #t~post6; {2476#true} is VALID [2022-04-28 14:09:10,567 INFO L290 TraceCheckUtils]: 12: Hoare triple {2476#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2476#true} is VALID [2022-04-28 14:09:10,567 INFO L290 TraceCheckUtils]: 11: Hoare triple {2476#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2476#true} is VALID [2022-04-28 14:09:10,568 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2476#true} {2476#true} #59#return; {2476#true} is VALID [2022-04-28 14:09:10,568 INFO L290 TraceCheckUtils]: 9: Hoare triple {2476#true} assume true; {2476#true} is VALID [2022-04-28 14:09:10,568 INFO L290 TraceCheckUtils]: 8: Hoare triple {2476#true} assume !(0 == ~cond); {2476#true} is VALID [2022-04-28 14:09:10,568 INFO L290 TraceCheckUtils]: 7: Hoare triple {2476#true} ~cond := #in~cond; {2476#true} is VALID [2022-04-28 14:09:10,568 INFO L272 TraceCheckUtils]: 6: Hoare triple {2476#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2476#true} is VALID [2022-04-28 14:09:10,568 INFO L290 TraceCheckUtils]: 5: Hoare triple {2476#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2476#true} is VALID [2022-04-28 14:09:10,568 INFO L272 TraceCheckUtils]: 4: Hoare triple {2476#true} call #t~ret7 := main(); {2476#true} is VALID [2022-04-28 14:09:10,568 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2476#true} {2476#true} #65#return; {2476#true} is VALID [2022-04-28 14:09:10,568 INFO L290 TraceCheckUtils]: 2: Hoare triple {2476#true} assume true; {2476#true} is VALID [2022-04-28 14:09:10,568 INFO L290 TraceCheckUtils]: 1: Hoare triple {2476#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);~counter~0 := 0; {2476#true} is VALID [2022-04-28 14:09:10,568 INFO L272 TraceCheckUtils]: 0: Hoare triple {2476#true} call ULTIMATE.init(); {2476#true} is VALID [2022-04-28 14:09:10,568 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 14:09:10,568 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:09:10,569 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [402655196] [2022-04-28 14:09:10,569 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:09:10,569 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1942545169] [2022-04-28 14:09:10,569 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1942545169] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:09:10,569 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:09:10,569 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-28 14:09:10,569 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:09:10,569 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [886649784] [2022-04-28 14:09:10,569 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [886649784] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:09:10,569 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:09:10,569 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 14:09:10,569 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [370259495] [2022-04-28 14:09:10,569 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:09:10,570 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, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 34 [2022-04-28 14:09:10,570 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:09:10,570 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, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 14:09:12,593 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 14:09:12,593 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 14:09:12,593 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:09:12,594 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 14:09:12,594 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-28 14:09:12,594 INFO L87 Difference]: Start difference. First operand 51 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, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 14:09:14,630 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 14:09:15,118 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:09:15,118 INFO L93 Difference]: Finished difference Result 59 states and 62 transitions. [2022-04-28 14:09:15,118 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 14:09:15,118 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, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 34 [2022-04-28 14:09:15,119 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:09:15,119 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, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 14:09:15,119 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 35 transitions. [2022-04-28 14:09:15,120 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, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 14:09:15,120 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 35 transitions. [2022-04-28 14:09:15,120 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 35 transitions. [2022-04-28 14:09:17,156 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 14:09:17,157 INFO L225 Difference]: With dead ends: 59 [2022-04-28 14:09:17,157 INFO L226 Difference]: Without dead ends: 52 [2022-04-28 14:09:17,157 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 69 GetRequests, 58 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 14:09:17,158 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 12 mSDsluCounter, 82 mSDsCounter, 0 mSdLazyCounter, 62 mSolverCounterSat, 1 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 103 SdHoareTripleChecker+Invalid, 64 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 62 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.3s IncrementalHoareTripleChecker+Time [2022-04-28 14:09:17,158 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 103 Invalid, 64 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 62 Invalid, 1 Unknown, 0 Unchecked, 2.3s Time] [2022-04-28 14:09:17,158 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-28 14:09:17,193 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 42. [2022-04-28 14:09:17,193 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:09:17,193 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 42 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 31 states have internal predecessors, (33), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 14:09:17,194 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 42 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 31 states have internal predecessors, (33), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 14:09:17,194 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 42 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 31 states have internal predecessors, (33), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 14:09:17,195 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:09:17,195 INFO L93 Difference]: Finished difference Result 52 states and 55 transitions. [2022-04-28 14:09:17,196 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 55 transitions. [2022-04-28 14:09:17,196 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:09:17,196 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:09:17,197 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 31 states have internal predecessors, (33), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 52 states. [2022-04-28 14:09:17,197 INFO L87 Difference]: Start difference. First operand has 42 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 31 states have internal predecessors, (33), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 52 states. [2022-04-28 14:09:17,199 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:09:17,199 INFO L93 Difference]: Finished difference Result 52 states and 55 transitions. [2022-04-28 14:09:17,199 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 55 transitions. [2022-04-28 14:09:17,199 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:09:17,199 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:09:17,199 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:09:17,199 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:09:17,199 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 31 states have internal predecessors, (33), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 14:09:17,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 45 transitions. [2022-04-28 14:09:17,200 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 45 transitions. Word has length 34 [2022-04-28 14:09:17,200 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:09:17,200 INFO L495 AbstractCegarLoop]: Abstraction has 42 states and 45 transitions. [2022-04-28 14:09:17,200 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, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 14:09:17,201 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 45 transitions. [2022-04-28 14:09:23,610 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 14:09:23,610 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 45 transitions. [2022-04-28 14:09:23,610 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-28 14:09:23,610 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:09:23,610 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 2, 2, 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 14:09:23,626 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-04-28 14:09:23,811 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 14:09:23,811 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:09:23,811 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:09:23,811 INFO L85 PathProgramCache]: Analyzing trace with hash -1456887472, now seen corresponding path program 3 times [2022-04-28 14:09:23,811 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:09:23,811 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1316810495] [2022-04-28 14:09:27,545 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 14:09:27,545 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 14:09:27,545 INFO L85 PathProgramCache]: Analyzing trace with hash -1456887472, now seen corresponding path program 4 times [2022-04-28 14:09:27,545 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:09:27,545 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1953544136] [2022-04-28 14:09:27,545 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:09:27,545 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:09:27,561 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:09:27,561 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1401897844] [2022-04-28 14:09:27,561 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 14:09:27,561 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:09:27,561 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:09:27,564 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 14:09:27,565 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 14:09:27,602 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 14:09:27,603 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:09:27,603 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 14:09:27,611 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:09:27,612 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:09:27,787 INFO L272 TraceCheckUtils]: 0: Hoare triple {2999#true} call ULTIMATE.init(); {2999#true} is VALID [2022-04-28 14:09:27,788 INFO L290 TraceCheckUtils]: 1: Hoare triple {2999#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);~counter~0 := 0; {3007#(<= ~counter~0 0)} is VALID [2022-04-28 14:09:27,788 INFO L290 TraceCheckUtils]: 2: Hoare triple {3007#(<= ~counter~0 0)} assume true; {3007#(<= ~counter~0 0)} is VALID [2022-04-28 14:09:27,789 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3007#(<= ~counter~0 0)} {2999#true} #65#return; {3007#(<= ~counter~0 0)} is VALID [2022-04-28 14:09:27,789 INFO L272 TraceCheckUtils]: 4: Hoare triple {3007#(<= ~counter~0 0)} call #t~ret7 := main(); {3007#(<= ~counter~0 0)} is VALID [2022-04-28 14:09:27,789 INFO L290 TraceCheckUtils]: 5: Hoare triple {3007#(<= ~counter~0 0)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3007#(<= ~counter~0 0)} is VALID [2022-04-28 14:09:27,790 INFO L272 TraceCheckUtils]: 6: Hoare triple {3007#(<= ~counter~0 0)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3007#(<= ~counter~0 0)} is VALID [2022-04-28 14:09:27,790 INFO L290 TraceCheckUtils]: 7: Hoare triple {3007#(<= ~counter~0 0)} ~cond := #in~cond; {3007#(<= ~counter~0 0)} is VALID [2022-04-28 14:09:27,791 INFO L290 TraceCheckUtils]: 8: Hoare triple {3007#(<= ~counter~0 0)} assume !(0 == ~cond); {3007#(<= ~counter~0 0)} is VALID [2022-04-28 14:09:27,791 INFO L290 TraceCheckUtils]: 9: Hoare triple {3007#(<= ~counter~0 0)} assume true; {3007#(<= ~counter~0 0)} is VALID [2022-04-28 14:09:27,791 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3007#(<= ~counter~0 0)} {3007#(<= ~counter~0 0)} #59#return; {3007#(<= ~counter~0 0)} is VALID [2022-04-28 14:09:27,792 INFO L290 TraceCheckUtils]: 11: Hoare triple {3007#(<= ~counter~0 0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3007#(<= ~counter~0 0)} is VALID [2022-04-28 14:09:27,792 INFO L290 TraceCheckUtils]: 12: Hoare triple {3007#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3041#(<= ~counter~0 1)} is VALID [2022-04-28 14:09:27,793 INFO L290 TraceCheckUtils]: 13: Hoare triple {3041#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {3041#(<= ~counter~0 1)} is VALID [2022-04-28 14:09:27,793 INFO L272 TraceCheckUtils]: 14: Hoare triple {3041#(<= ~counter~0 1)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3041#(<= ~counter~0 1)} is VALID [2022-04-28 14:09:27,793 INFO L290 TraceCheckUtils]: 15: Hoare triple {3041#(<= ~counter~0 1)} ~cond := #in~cond; {3041#(<= ~counter~0 1)} is VALID [2022-04-28 14:09:27,794 INFO L290 TraceCheckUtils]: 16: Hoare triple {3041#(<= ~counter~0 1)} assume !(0 == ~cond); {3041#(<= ~counter~0 1)} is VALID [2022-04-28 14:09:27,794 INFO L290 TraceCheckUtils]: 17: Hoare triple {3041#(<= ~counter~0 1)} assume true; {3041#(<= ~counter~0 1)} is VALID [2022-04-28 14:09:27,795 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3041#(<= ~counter~0 1)} {3041#(<= ~counter~0 1)} #61#return; {3041#(<= ~counter~0 1)} is VALID [2022-04-28 14:09:27,795 INFO L290 TraceCheckUtils]: 19: Hoare triple {3041#(<= ~counter~0 1)} assume !!(0 != ~y~0); {3041#(<= ~counter~0 1)} is VALID [2022-04-28 14:09:27,795 INFO L290 TraceCheckUtils]: 20: Hoare triple {3041#(<= ~counter~0 1)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3041#(<= ~counter~0 1)} is VALID [2022-04-28 14:09:27,795 INFO L290 TraceCheckUtils]: 21: Hoare triple {3041#(<= ~counter~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); {3041#(<= ~counter~0 1)} is VALID [2022-04-28 14:09:27,796 INFO L290 TraceCheckUtils]: 22: Hoare triple {3041#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3072#(<= ~counter~0 2)} is VALID [2022-04-28 14:09:27,796 INFO L290 TraceCheckUtils]: 23: Hoare triple {3072#(<= ~counter~0 2)} assume !!(#t~post6 < 10);havoc #t~post6; {3072#(<= ~counter~0 2)} is VALID [2022-04-28 14:09:27,797 INFO L272 TraceCheckUtils]: 24: Hoare triple {3072#(<= ~counter~0 2)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3072#(<= ~counter~0 2)} is VALID [2022-04-28 14:09:27,797 INFO L290 TraceCheckUtils]: 25: Hoare triple {3072#(<= ~counter~0 2)} ~cond := #in~cond; {3072#(<= ~counter~0 2)} is VALID [2022-04-28 14:09:27,797 INFO L290 TraceCheckUtils]: 26: Hoare triple {3072#(<= ~counter~0 2)} assume !(0 == ~cond); {3072#(<= ~counter~0 2)} is VALID [2022-04-28 14:09:27,798 INFO L290 TraceCheckUtils]: 27: Hoare triple {3072#(<= ~counter~0 2)} assume true; {3072#(<= ~counter~0 2)} is VALID [2022-04-28 14:09:27,798 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3072#(<= ~counter~0 2)} {3072#(<= ~counter~0 2)} #61#return; {3072#(<= ~counter~0 2)} is VALID [2022-04-28 14:09:27,798 INFO L290 TraceCheckUtils]: 29: Hoare triple {3072#(<= ~counter~0 2)} assume !!(0 != ~y~0); {3072#(<= ~counter~0 2)} is VALID [2022-04-28 14:09:27,799 INFO L290 TraceCheckUtils]: 30: Hoare triple {3072#(<= ~counter~0 2)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3072#(<= ~counter~0 2)} is VALID [2022-04-28 14:09:27,799 INFO L290 TraceCheckUtils]: 31: Hoare triple {3072#(<= ~counter~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); {3072#(<= ~counter~0 2)} is VALID [2022-04-28 14:09:27,799 INFO L290 TraceCheckUtils]: 32: Hoare triple {3072#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3103#(<= |main_#t~post6| 2)} is VALID [2022-04-28 14:09:27,800 INFO L290 TraceCheckUtils]: 33: Hoare triple {3103#(<= |main_#t~post6| 2)} assume !(#t~post6 < 10);havoc #t~post6; {3000#false} is VALID [2022-04-28 14:09:27,800 INFO L272 TraceCheckUtils]: 34: Hoare triple {3000#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {3000#false} is VALID [2022-04-28 14:09:27,800 INFO L290 TraceCheckUtils]: 35: Hoare triple {3000#false} ~cond := #in~cond; {3000#false} is VALID [2022-04-28 14:09:27,800 INFO L290 TraceCheckUtils]: 36: Hoare triple {3000#false} assume 0 == ~cond; {3000#false} is VALID [2022-04-28 14:09:27,800 INFO L290 TraceCheckUtils]: 37: Hoare triple {3000#false} assume !false; {3000#false} is VALID [2022-04-28 14:09:27,800 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 4 proven. 14 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 14:09:27,800 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:09:27,994 INFO L290 TraceCheckUtils]: 37: Hoare triple {3000#false} assume !false; {3000#false} is VALID [2022-04-28 14:09:27,994 INFO L290 TraceCheckUtils]: 36: Hoare triple {3000#false} assume 0 == ~cond; {3000#false} is VALID [2022-04-28 14:09:27,995 INFO L290 TraceCheckUtils]: 35: Hoare triple {3000#false} ~cond := #in~cond; {3000#false} is VALID [2022-04-28 14:09:27,995 INFO L272 TraceCheckUtils]: 34: Hoare triple {3000#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {3000#false} is VALID [2022-04-28 14:09:27,995 INFO L290 TraceCheckUtils]: 33: Hoare triple {3131#(< |main_#t~post6| 10)} assume !(#t~post6 < 10);havoc #t~post6; {3000#false} is VALID [2022-04-28 14:09:27,996 INFO L290 TraceCheckUtils]: 32: Hoare triple {3135#(< ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3131#(< |main_#t~post6| 10)} is VALID [2022-04-28 14:09:27,996 INFO L290 TraceCheckUtils]: 31: Hoare triple {3135#(< ~counter~0 10)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3135#(< ~counter~0 10)} is VALID [2022-04-28 14:09:27,996 INFO L290 TraceCheckUtils]: 30: Hoare triple {3135#(< ~counter~0 10)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3135#(< ~counter~0 10)} is VALID [2022-04-28 14:09:27,997 INFO L290 TraceCheckUtils]: 29: Hoare triple {3135#(< ~counter~0 10)} assume !!(0 != ~y~0); {3135#(< ~counter~0 10)} is VALID [2022-04-28 14:09:27,997 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2999#true} {3135#(< ~counter~0 10)} #61#return; {3135#(< ~counter~0 10)} is VALID [2022-04-28 14:09:27,997 INFO L290 TraceCheckUtils]: 27: Hoare triple {2999#true} assume true; {2999#true} is VALID [2022-04-28 14:09:27,997 INFO L290 TraceCheckUtils]: 26: Hoare triple {2999#true} assume !(0 == ~cond); {2999#true} is VALID [2022-04-28 14:09:27,998 INFO L290 TraceCheckUtils]: 25: Hoare triple {2999#true} ~cond := #in~cond; {2999#true} is VALID [2022-04-28 14:09:27,998 INFO L272 TraceCheckUtils]: 24: Hoare triple {3135#(< ~counter~0 10)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2999#true} is VALID [2022-04-28 14:09:27,998 INFO L290 TraceCheckUtils]: 23: Hoare triple {3135#(< ~counter~0 10)} assume !!(#t~post6 < 10);havoc #t~post6; {3135#(< ~counter~0 10)} is VALID [2022-04-28 14:09:27,998 INFO L290 TraceCheckUtils]: 22: Hoare triple {3166#(< ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3135#(< ~counter~0 10)} is VALID [2022-04-28 14:09:27,999 INFO L290 TraceCheckUtils]: 21: Hoare triple {3166#(< ~counter~0 9)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3166#(< ~counter~0 9)} is VALID [2022-04-28 14:09:27,999 INFO L290 TraceCheckUtils]: 20: Hoare triple {3166#(< ~counter~0 9)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3166#(< ~counter~0 9)} is VALID [2022-04-28 14:09:27,999 INFO L290 TraceCheckUtils]: 19: Hoare triple {3166#(< ~counter~0 9)} assume !!(0 != ~y~0); {3166#(< ~counter~0 9)} is VALID [2022-04-28 14:09:28,002 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2999#true} {3166#(< ~counter~0 9)} #61#return; {3166#(< ~counter~0 9)} is VALID [2022-04-28 14:09:28,003 INFO L290 TraceCheckUtils]: 17: Hoare triple {2999#true} assume true; {2999#true} is VALID [2022-04-28 14:09:28,009 INFO L290 TraceCheckUtils]: 16: Hoare triple {2999#true} assume !(0 == ~cond); {2999#true} is VALID [2022-04-28 14:09:28,009 INFO L290 TraceCheckUtils]: 15: Hoare triple {2999#true} ~cond := #in~cond; {2999#true} is VALID [2022-04-28 14:09:28,009 INFO L272 TraceCheckUtils]: 14: Hoare triple {3166#(< ~counter~0 9)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2999#true} is VALID [2022-04-28 14:09:28,010 INFO L290 TraceCheckUtils]: 13: Hoare triple {3166#(< ~counter~0 9)} assume !!(#t~post6 < 10);havoc #t~post6; {3166#(< ~counter~0 9)} is VALID [2022-04-28 14:09:28,011 INFO L290 TraceCheckUtils]: 12: Hoare triple {3197#(< ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3166#(< ~counter~0 9)} is VALID [2022-04-28 14:09:28,011 INFO L290 TraceCheckUtils]: 11: Hoare triple {3197#(< ~counter~0 8)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3197#(< ~counter~0 8)} is VALID [2022-04-28 14:09:28,012 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2999#true} {3197#(< ~counter~0 8)} #59#return; {3197#(< ~counter~0 8)} is VALID [2022-04-28 14:09:28,012 INFO L290 TraceCheckUtils]: 9: Hoare triple {2999#true} assume true; {2999#true} is VALID [2022-04-28 14:09:28,012 INFO L290 TraceCheckUtils]: 8: Hoare triple {2999#true} assume !(0 == ~cond); {2999#true} is VALID [2022-04-28 14:09:28,012 INFO L290 TraceCheckUtils]: 7: Hoare triple {2999#true} ~cond := #in~cond; {2999#true} is VALID [2022-04-28 14:09:28,012 INFO L272 TraceCheckUtils]: 6: Hoare triple {3197#(< ~counter~0 8)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2999#true} is VALID [2022-04-28 14:09:28,012 INFO L290 TraceCheckUtils]: 5: Hoare triple {3197#(< ~counter~0 8)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3197#(< ~counter~0 8)} is VALID [2022-04-28 14:09:28,012 INFO L272 TraceCheckUtils]: 4: Hoare triple {3197#(< ~counter~0 8)} call #t~ret7 := main(); {3197#(< ~counter~0 8)} is VALID [2022-04-28 14:09:28,013 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3197#(< ~counter~0 8)} {2999#true} #65#return; {3197#(< ~counter~0 8)} is VALID [2022-04-28 14:09:28,013 INFO L290 TraceCheckUtils]: 2: Hoare triple {3197#(< ~counter~0 8)} assume true; {3197#(< ~counter~0 8)} is VALID [2022-04-28 14:09:28,014 INFO L290 TraceCheckUtils]: 1: Hoare triple {2999#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);~counter~0 := 0; {3197#(< ~counter~0 8)} is VALID [2022-04-28 14:09:28,014 INFO L272 TraceCheckUtils]: 0: Hoare triple {2999#true} call ULTIMATE.init(); {2999#true} is VALID [2022-04-28 14:09:28,014 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 4 proven. 10 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 14:09:28,014 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:09:28,014 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1953544136] [2022-04-28 14:09:28,014 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:09:28,014 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1401897844] [2022-04-28 14:09:28,014 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1401897844] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:09:28,014 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:09:28,014 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-28 14:09:28,015 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:09:28,015 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1316810495] [2022-04-28 14:09:28,015 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1316810495] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:09:28,015 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:09:28,015 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 14:09:28,015 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [786961713] [2022-04-28 14:09:28,015 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:09:28,015 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Word has length 38 [2022-04-28 14:09:28,015 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:09:28,016 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 14:09:28,043 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 14:09:28,043 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 14:09:28,043 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:09:28,044 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 14:09:28,044 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-28 14:09:28,044 INFO L87 Difference]: Start difference. First operand 42 states and 45 transitions. Second operand has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 14:09:28,185 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:09:28,185 INFO L93 Difference]: Finished difference Result 54 states and 58 transitions. [2022-04-28 14:09:28,185 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 14:09:28,186 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Word has length 38 [2022-04-28 14:09:28,186 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:09:28,186 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 14:09:28,187 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 58 transitions. [2022-04-28 14:09:28,187 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 14:09:28,188 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 58 transitions. [2022-04-28 14:09:28,188 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 58 transitions. [2022-04-28 14:09:28,232 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:09:28,233 INFO L225 Difference]: With dead ends: 54 [2022-04-28 14:09:28,233 INFO L226 Difference]: Without dead ends: 47 [2022-04-28 14:09:28,233 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 77 GetRequests, 67 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=51, Invalid=81, Unknown=0, NotChecked=0, Total=132 [2022-04-28 14:09:28,233 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 15 mSDsluCounter, 60 mSDsCounter, 0 mSdLazyCounter, 16 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 87 SdHoareTripleChecker+Invalid, 26 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 16 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 14:09:28,234 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 87 Invalid, 26 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 16 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 14:09:28,234 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-28 14:09:28,299 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 47. [2022-04-28 14:09:28,300 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:09:28,300 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 47 states, 34 states have (on average 1.1470588235294117) internal successors, (39), 35 states have internal predecessors, (39), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 14:09:28,300 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 47 states, 34 states have (on average 1.1470588235294117) internal successors, (39), 35 states have internal predecessors, (39), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 14:09:28,300 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 47 states, 34 states have (on average 1.1470588235294117) internal successors, (39), 35 states have internal predecessors, (39), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 14:09:28,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:09:28,302 INFO L93 Difference]: Finished difference Result 47 states and 51 transitions. [2022-04-28 14:09:28,302 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 51 transitions. [2022-04-28 14:09:28,302 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:09:28,302 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:09:28,302 INFO L74 IsIncluded]: Start isIncluded. First operand has 47 states, 34 states have (on average 1.1470588235294117) internal successors, (39), 35 states have internal predecessors, (39), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 47 states. [2022-04-28 14:09:28,302 INFO L87 Difference]: Start difference. First operand has 47 states, 34 states have (on average 1.1470588235294117) internal successors, (39), 35 states have internal predecessors, (39), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 47 states. [2022-04-28 14:09:28,303 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:09:28,303 INFO L93 Difference]: Finished difference Result 47 states and 51 transitions. [2022-04-28 14:09:28,303 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 51 transitions. [2022-04-28 14:09:28,303 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:09:28,303 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:09:28,303 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:09:28,303 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:09:28,303 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 47 states, 34 states have (on average 1.1470588235294117) internal successors, (39), 35 states have internal predecessors, (39), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 14:09:28,304 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 51 transitions. [2022-04-28 14:09:28,304 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 51 transitions. Word has length 38 [2022-04-28 14:09:28,304 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:09:28,304 INFO L495 AbstractCegarLoop]: Abstraction has 47 states and 51 transitions. [2022-04-28 14:09:28,304 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 14:09:28,304 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 47 states and 51 transitions. [2022-04-28 14:09:34,575 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 48 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-28 14:09:34,576 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 51 transitions. [2022-04-28 14:09:34,576 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-28 14:09:34,576 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:09:34,576 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:09:34,593 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 14:09:34,776 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 14:09:34,777 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:09:34,777 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:09:34,777 INFO L85 PathProgramCache]: Analyzing trace with hash -1455100012, now seen corresponding path program 3 times [2022-04-28 14:09:34,777 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:09:34,777 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1773589293] [2022-04-28 14:09:38,503 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 14:09:38,503 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 14:09:38,503 INFO L85 PathProgramCache]: Analyzing trace with hash -1455100012, now seen corresponding path program 4 times [2022-04-28 14:09:38,503 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:09:38,503 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1518450876] [2022-04-28 14:09:38,503 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:09:38,504 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:09:38,514 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:09:38,514 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1011805693] [2022-04-28 14:09:38,514 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 14:09:38,514 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:09:38,514 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:09:38,515 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 14:09:38,518 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 14:09:38,560 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 14:09:38,560 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:09:38,562 INFO L263 TraceCheckSpWp]: Trace formula consists of 91 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-28 14:09:38,574 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:09:38,574 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:09:45,128 INFO L272 TraceCheckUtils]: 0: Hoare triple {3536#true} call ULTIMATE.init(); {3536#true} is VALID [2022-04-28 14:09:45,129 INFO L290 TraceCheckUtils]: 1: Hoare triple {3536#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);~counter~0 := 0; {3536#true} is VALID [2022-04-28 14:09:45,129 INFO L290 TraceCheckUtils]: 2: Hoare triple {3536#true} assume true; {3536#true} is VALID [2022-04-28 14:09:45,129 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3536#true} {3536#true} #65#return; {3536#true} is VALID [2022-04-28 14:09:45,129 INFO L272 TraceCheckUtils]: 4: Hoare triple {3536#true} call #t~ret7 := main(); {3536#true} is VALID [2022-04-28 14:09:45,129 INFO L290 TraceCheckUtils]: 5: Hoare triple {3536#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3536#true} is VALID [2022-04-28 14:09:45,129 INFO L272 TraceCheckUtils]: 6: Hoare triple {3536#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3536#true} is VALID [2022-04-28 14:09:45,132 INFO L290 TraceCheckUtils]: 7: Hoare triple {3536#true} ~cond := #in~cond; {3562#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:09:45,139 INFO L290 TraceCheckUtils]: 8: Hoare triple {3562#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3566#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:09:45,140 INFO L290 TraceCheckUtils]: 9: Hoare triple {3566#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3566#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:09:45,141 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3566#(not (= |assume_abort_if_not_#in~cond| 0))} {3536#true} #59#return; {3573#(<= 1 main_~b~0)} is VALID [2022-04-28 14:09:45,141 INFO L290 TraceCheckUtils]: 11: Hoare triple {3573#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3577#(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 14:09:45,141 INFO L290 TraceCheckUtils]: 12: Hoare triple {3577#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3577#(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 14:09:45,142 INFO L290 TraceCheckUtils]: 13: Hoare triple {3577#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 10);havoc #t~post6; {3577#(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 14:09:45,142 INFO L272 TraceCheckUtils]: 14: Hoare triple {3577#(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)); {3536#true} is VALID [2022-04-28 14:09:45,142 INFO L290 TraceCheckUtils]: 15: Hoare triple {3536#true} ~cond := #in~cond; {3536#true} is VALID [2022-04-28 14:09:45,142 INFO L290 TraceCheckUtils]: 16: Hoare triple {3536#true} assume !(0 == ~cond); {3536#true} is VALID [2022-04-28 14:09:45,142 INFO L290 TraceCheckUtils]: 17: Hoare triple {3536#true} assume true; {3536#true} is VALID [2022-04-28 14:09:45,142 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3536#true} {3577#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #61#return; {3577#(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 14:09:45,143 INFO L290 TraceCheckUtils]: 19: Hoare triple {3577#(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); {3577#(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 14:09:45,148 INFO L290 TraceCheckUtils]: 20: Hoare triple {3577#(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)); {3605#(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 14:09:45,149 INFO L290 TraceCheckUtils]: 21: Hoare triple {3605#(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); {3609#(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 14:09:45,149 INFO L290 TraceCheckUtils]: 22: Hoare triple {3609#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3609#(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 14:09:45,149 INFO L290 TraceCheckUtils]: 23: Hoare triple {3609#(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 !!(#t~post6 < 10);havoc #t~post6; {3609#(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 14:09:45,149 INFO L272 TraceCheckUtils]: 24: Hoare triple {3609#(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)); {3536#true} is VALID [2022-04-28 14:09:45,150 INFO L290 TraceCheckUtils]: 25: Hoare triple {3536#true} ~cond := #in~cond; {3536#true} is VALID [2022-04-28 14:09:45,150 INFO L290 TraceCheckUtils]: 26: Hoare triple {3536#true} assume !(0 == ~cond); {3536#true} is VALID [2022-04-28 14:09:45,150 INFO L290 TraceCheckUtils]: 27: Hoare triple {3536#true} assume true; {3536#true} is VALID [2022-04-28 14:09:45,150 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3536#true} {3609#(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))} #61#return; {3609#(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 14:09:45,151 INFO L290 TraceCheckUtils]: 29: Hoare triple {3609#(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 !!(0 != ~y~0); {3609#(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 14:09:45,152 INFO L290 TraceCheckUtils]: 30: Hoare triple {3609#(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 !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3637#(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 14:09:45,153 INFO L290 TraceCheckUtils]: 31: Hoare triple {3637#(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); {3641#(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 14:09:45,153 INFO L290 TraceCheckUtils]: 32: Hoare triple {3641#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3641#(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 14:09:45,153 INFO L290 TraceCheckUtils]: 33: Hoare triple {3641#(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 !!(#t~post6 < 10);havoc #t~post6; {3641#(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 14:09:45,156 INFO L272 TraceCheckUtils]: 34: Hoare triple {3641#(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)); {3651#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:09:45,156 INFO L290 TraceCheckUtils]: 35: Hoare triple {3651#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3655#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:09:45,156 INFO L290 TraceCheckUtils]: 36: Hoare triple {3655#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3537#false} is VALID [2022-04-28 14:09:45,156 INFO L290 TraceCheckUtils]: 37: Hoare triple {3537#false} assume !false; {3537#false} is VALID [2022-04-28 14:09:45,157 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 4 proven. 12 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 14:09:45,157 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:10:08,561 INFO L290 TraceCheckUtils]: 37: Hoare triple {3537#false} assume !false; {3537#false} is VALID [2022-04-28 14:10:08,562 INFO L290 TraceCheckUtils]: 36: Hoare triple {3655#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3537#false} is VALID [2022-04-28 14:10:08,563 INFO L290 TraceCheckUtils]: 35: Hoare triple {3651#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3655#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:10:08,564 INFO L272 TraceCheckUtils]: 34: Hoare triple {3671#(= (+ 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)); {3651#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:10:08,564 INFO L290 TraceCheckUtils]: 33: Hoare triple {3671#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !!(#t~post6 < 10);havoc #t~post6; {3671#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:10:08,564 INFO L290 TraceCheckUtils]: 32: Hoare triple {3671#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3671#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:10:08,568 INFO L290 TraceCheckUtils]: 31: Hoare triple {3681#(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); {3671#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:10:08,569 INFO L290 TraceCheckUtils]: 30: Hoare triple {3685#(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)); {3681#(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 14:10:08,570 INFO L290 TraceCheckUtils]: 29: Hoare triple {3685#(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); {3685#(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 14:10:08,570 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3536#true} {3685#(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)))))} #61#return; {3685#(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 14:10:08,570 INFO L290 TraceCheckUtils]: 27: Hoare triple {3536#true} assume true; {3536#true} is VALID [2022-04-28 14:10:08,570 INFO L290 TraceCheckUtils]: 26: Hoare triple {3536#true} assume !(0 == ~cond); {3536#true} is VALID [2022-04-28 14:10:08,570 INFO L290 TraceCheckUtils]: 25: Hoare triple {3536#true} ~cond := #in~cond; {3536#true} is VALID [2022-04-28 14:10:08,570 INFO L272 TraceCheckUtils]: 24: Hoare triple {3685#(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)); {3536#true} is VALID [2022-04-28 14:10:08,571 INFO L290 TraceCheckUtils]: 23: Hoare triple {3685#(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 !!(#t~post6 < 10);havoc #t~post6; {3685#(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 14:10:08,571 INFO L290 TraceCheckUtils]: 22: Hoare triple {3685#(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)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3685#(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 14:10:08,582 INFO L290 TraceCheckUtils]: 21: Hoare triple {3713#(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); {3685#(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 14:10:08,583 INFO L290 TraceCheckUtils]: 20: Hoare triple {3717#(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)); {3713#(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 14:10:08,584 INFO L290 TraceCheckUtils]: 19: Hoare triple {3717#(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); {3717#(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 14:10:08,584 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3536#true} {3717#(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)))} #61#return; {3717#(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 14:10:08,584 INFO L290 TraceCheckUtils]: 17: Hoare triple {3536#true} assume true; {3536#true} is VALID [2022-04-28 14:10:08,584 INFO L290 TraceCheckUtils]: 16: Hoare triple {3536#true} assume !(0 == ~cond); {3536#true} is VALID [2022-04-28 14:10:08,584 INFO L290 TraceCheckUtils]: 15: Hoare triple {3536#true} ~cond := #in~cond; {3536#true} is VALID [2022-04-28 14:10:08,585 INFO L272 TraceCheckUtils]: 14: Hoare triple {3717#(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)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3536#true} is VALID [2022-04-28 14:10:08,585 INFO L290 TraceCheckUtils]: 13: Hoare triple {3717#(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 !!(#t~post6 < 10);havoc #t~post6; {3717#(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 14:10:08,586 INFO L290 TraceCheckUtils]: 12: Hoare triple {3717#(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)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3717#(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 14:10:08,589 INFO L290 TraceCheckUtils]: 11: Hoare triple {3745#(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; {3717#(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 14:10:08,590 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3566#(not (= |assume_abort_if_not_#in~cond| 0))} {3536#true} #59#return; {3745#(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 14:10:08,590 INFO L290 TraceCheckUtils]: 9: Hoare triple {3566#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3566#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:10:08,590 INFO L290 TraceCheckUtils]: 8: Hoare triple {3758#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {3566#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:10:08,590 INFO L290 TraceCheckUtils]: 7: Hoare triple {3536#true} ~cond := #in~cond; {3758#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 14:10:08,591 INFO L272 TraceCheckUtils]: 6: Hoare triple {3536#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3536#true} is VALID [2022-04-28 14:10:08,591 INFO L290 TraceCheckUtils]: 5: Hoare triple {3536#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3536#true} is VALID [2022-04-28 14:10:08,591 INFO L272 TraceCheckUtils]: 4: Hoare triple {3536#true} call #t~ret7 := main(); {3536#true} is VALID [2022-04-28 14:10:08,591 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3536#true} {3536#true} #65#return; {3536#true} is VALID [2022-04-28 14:10:08,591 INFO L290 TraceCheckUtils]: 2: Hoare triple {3536#true} assume true; {3536#true} is VALID [2022-04-28 14:10:08,591 INFO L290 TraceCheckUtils]: 1: Hoare triple {3536#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);~counter~0 := 0; {3536#true} is VALID [2022-04-28 14:10:08,591 INFO L272 TraceCheckUtils]: 0: Hoare triple {3536#true} call ULTIMATE.init(); {3536#true} is VALID [2022-04-28 14:10:08,591 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 4 proven. 12 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 14:10:08,591 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:10:08,591 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1518450876] [2022-04-28 14:10:08,591 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:10:08,591 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1011805693] [2022-04-28 14:10:08,592 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1011805693] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:10:08,592 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:10:08,592 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 19 [2022-04-28 14:10:08,592 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:10:08,592 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1773589293] [2022-04-28 14:10:08,592 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1773589293] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:10:08,592 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:10:08,592 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 14:10:08,592 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [939136544] [2022-04-28 14:10:08,592 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:10:08,592 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 38 [2022-04-28 14:10:08,593 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:10:08,593 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 14:10:08,620 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:10:08,620 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 14:10:08,620 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:10:08,620 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 14:10:08,621 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=271, Unknown=0, NotChecked=0, Total=342 [2022-04-28 14:10:08,621 INFO L87 Difference]: Start difference. First operand 47 states and 51 transitions. Second operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 14:10:09,470 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:10:09,471 INFO L93 Difference]: Finished difference Result 70 states and 76 transitions. [2022-04-28 14:10:09,471 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 14:10:09,471 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 38 [2022-04-28 14:10:09,472 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:10:09,472 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 14:10:09,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 56 transitions. [2022-04-28 14:10:09,476 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 14:10:09,482 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 56 transitions. [2022-04-28 14:10:09,482 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 56 transitions. [2022-04-28 14:10:09,516 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 14:10:09,517 INFO L225 Difference]: With dead ends: 70 [2022-04-28 14:10:09,517 INFO L226 Difference]: Without dead ends: 68 [2022-04-28 14:10:09,517 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 77 GetRequests, 57 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 88 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=80, Invalid=340, Unknown=0, NotChecked=0, Total=420 [2022-04-28 14:10:09,518 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 26 mSDsluCounter, 143 mSDsCounter, 0 mSdLazyCounter, 228 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 167 SdHoareTripleChecker+Invalid, 235 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 228 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 14:10:09,518 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [28 Valid, 167 Invalid, 235 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 228 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 14:10:09,518 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 68 states. [2022-04-28 14:10:09,570 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 68 to 65. [2022-04-28 14:10:09,570 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:10:09,570 INFO L82 GeneralOperation]: Start isEquivalent. First operand 68 states. Second operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:10:09,571 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:10:09,571 INFO L87 Difference]: Start difference. First operand 68 states. Second operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:10:09,581 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:10:09,581 INFO L93 Difference]: Finished difference Result 68 states and 74 transitions. [2022-04-28 14:10:09,581 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 74 transitions. [2022-04-28 14:10:09,581 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:10:09,581 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:10:09,583 INFO L74 IsIncluded]: Start isIncluded. First operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 68 states. [2022-04-28 14:10:09,583 INFO L87 Difference]: Start difference. First operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 68 states. [2022-04-28 14:10:09,586 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:10:09,587 INFO L93 Difference]: Finished difference Result 68 states and 74 transitions. [2022-04-28 14:10:09,587 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 74 transitions. [2022-04-28 14:10:09,587 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:10:09,587 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:10:09,587 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:10:09,587 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:10:09,587 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:10:09,588 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 70 transitions. [2022-04-28 14:10:09,588 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 70 transitions. Word has length 38 [2022-04-28 14:10:09,589 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:10:09,589 INFO L495 AbstractCegarLoop]: Abstraction has 65 states and 70 transitions. [2022-04-28 14:10:09,589 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 14:10:09,589 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 65 states and 70 transitions. [2022-04-28 14:10:19,889 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 65 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-28 14:10:19,889 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 70 transitions. [2022-04-28 14:10:19,889 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-28 14:10:19,889 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:10:19,889 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] [2022-04-28 14:10:19,906 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 14:10:20,090 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 14:10:20,090 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:10:20,090 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:10:20,090 INFO L85 PathProgramCache]: Analyzing trace with hash -645753386, now seen corresponding path program 1 times [2022-04-28 14:10:20,090 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:10:20,091 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [148224786] [2022-04-28 14:10:27,707 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 14:10:27,707 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 14:10:27,707 INFO L85 PathProgramCache]: Analyzing trace with hash -645753386, now seen corresponding path program 2 times [2022-04-28 14:10:27,707 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:10:27,708 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1566599239] [2022-04-28 14:10:27,708 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:10:27,708 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:10:27,732 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:10:27,732 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [407996353] [2022-04-28 14:10:27,732 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:10:27,732 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:10:27,732 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:10:27,733 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 14:10:27,736 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 14:10:27,813 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:10:27,813 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:10:27,814 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-28 14:10:27,857 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:10:27,858 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:10:36,219 INFO L272 TraceCheckUtils]: 0: Hoare triple {4192#true} call ULTIMATE.init(); {4192#true} is VALID [2022-04-28 14:10:36,219 INFO L290 TraceCheckUtils]: 1: Hoare triple {4192#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);~counter~0 := 0; {4192#true} is VALID [2022-04-28 14:10:36,219 INFO L290 TraceCheckUtils]: 2: Hoare triple {4192#true} assume true; {4192#true} is VALID [2022-04-28 14:10:36,219 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4192#true} {4192#true} #65#return; {4192#true} is VALID [2022-04-28 14:10:36,219 INFO L272 TraceCheckUtils]: 4: Hoare triple {4192#true} call #t~ret7 := main(); {4192#true} is VALID [2022-04-28 14:10:36,219 INFO L290 TraceCheckUtils]: 5: Hoare triple {4192#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4192#true} is VALID [2022-04-28 14:10:36,219 INFO L272 TraceCheckUtils]: 6: Hoare triple {4192#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4192#true} is VALID [2022-04-28 14:10:36,220 INFO L290 TraceCheckUtils]: 7: Hoare triple {4192#true} ~cond := #in~cond; {4218#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:10:36,220 INFO L290 TraceCheckUtils]: 8: Hoare triple {4218#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4222#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:10:36,220 INFO L290 TraceCheckUtils]: 9: Hoare triple {4222#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4222#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:10:36,221 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4222#(not (= |assume_abort_if_not_#in~cond| 0))} {4192#true} #59#return; {4229#(<= 1 main_~b~0)} is VALID [2022-04-28 14:10:36,221 INFO L290 TraceCheckUtils]: 11: Hoare triple {4229#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4233#(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 14:10:36,222 INFO L290 TraceCheckUtils]: 12: Hoare triple {4233#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4233#(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 14:10:36,222 INFO L290 TraceCheckUtils]: 13: Hoare triple {4233#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 10);havoc #t~post6; {4233#(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 14:10:36,222 INFO L272 TraceCheckUtils]: 14: Hoare triple {4233#(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)); {4192#true} is VALID [2022-04-28 14:10:36,222 INFO L290 TraceCheckUtils]: 15: Hoare triple {4192#true} ~cond := #in~cond; {4192#true} is VALID [2022-04-28 14:10:36,222 INFO L290 TraceCheckUtils]: 16: Hoare triple {4192#true} assume !(0 == ~cond); {4192#true} is VALID [2022-04-28 14:10:36,222 INFO L290 TraceCheckUtils]: 17: Hoare triple {4192#true} assume true; {4192#true} is VALID [2022-04-28 14:10:36,223 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4192#true} {4233#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #61#return; {4233#(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 14:10:36,223 INFO L290 TraceCheckUtils]: 19: Hoare triple {4233#(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); {4233#(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 14:10:36,224 INFO L290 TraceCheckUtils]: 20: Hoare triple {4233#(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)); {4261#(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 14:10:36,225 INFO L290 TraceCheckUtils]: 21: Hoare triple {4261#(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); {4265#(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 14:10:36,225 INFO L290 TraceCheckUtils]: 22: Hoare triple {4265#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4265#(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 14:10:36,225 INFO L290 TraceCheckUtils]: 23: Hoare triple {4265#(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 !!(#t~post6 < 10);havoc #t~post6; {4265#(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 14:10:36,226 INFO L272 TraceCheckUtils]: 24: Hoare triple {4265#(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)); {4192#true} is VALID [2022-04-28 14:10:36,226 INFO L290 TraceCheckUtils]: 25: Hoare triple {4192#true} ~cond := #in~cond; {4278#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:10:36,226 INFO L290 TraceCheckUtils]: 26: Hoare triple {4278#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4282#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:10:36,227 INFO L290 TraceCheckUtils]: 27: Hoare triple {4282#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4282#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:10:36,227 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4282#(not (= |__VERIFIER_assert_#in~cond| 0))} {4265#(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))} #61#return; {4265#(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 14:10:36,228 INFO L290 TraceCheckUtils]: 29: Hoare triple {4265#(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 !!(0 != ~y~0); {4265#(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 14:10:36,229 INFO L290 TraceCheckUtils]: 30: Hoare triple {4265#(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 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; {4295#(and (= main_~z~0 main_~x~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 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-28 14:10:36,230 INFO L290 TraceCheckUtils]: 31: Hoare triple {4295#(and (= main_~z~0 main_~x~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 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 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); {4299#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-28 14:10:36,230 INFO L290 TraceCheckUtils]: 32: Hoare triple {4299#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4299#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-28 14:10:36,231 INFO L290 TraceCheckUtils]: 33: Hoare triple {4299#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} assume !!(#t~post6 < 10);havoc #t~post6; {4299#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-28 14:10:36,337 INFO L272 TraceCheckUtils]: 34: Hoare triple {4299#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= 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)); {4309#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:10:36,340 INFO L290 TraceCheckUtils]: 35: Hoare triple {4309#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4313#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:10:36,340 INFO L290 TraceCheckUtils]: 36: Hoare triple {4313#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4193#false} is VALID [2022-04-28 14:10:36,340 INFO L290 TraceCheckUtils]: 37: Hoare triple {4193#false} assume !false; {4193#false} is VALID [2022-04-28 14:10:36,340 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 6 proven. 13 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 14:10:36,340 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:11:38,240 INFO L290 TraceCheckUtils]: 37: Hoare triple {4193#false} assume !false; {4193#false} is VALID [2022-04-28 14:11:38,241 INFO L290 TraceCheckUtils]: 36: Hoare triple {4313#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4193#false} is VALID [2022-04-28 14:11:38,241 INFO L290 TraceCheckUtils]: 35: Hoare triple {4309#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4313#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:11:38,242 INFO L272 TraceCheckUtils]: 34: Hoare triple {4329#(= (+ 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)); {4309#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:11:38,242 INFO L290 TraceCheckUtils]: 33: Hoare triple {4329#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !!(#t~post6 < 10);havoc #t~post6; {4329#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:11:38,243 INFO L290 TraceCheckUtils]: 32: Hoare triple {4329#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4329#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:11:38,247 INFO L290 TraceCheckUtils]: 31: Hoare triple {4339#(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); {4329#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:11:38,249 INFO L290 TraceCheckUtils]: 30: Hoare triple {4343#(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; {4339#(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 14:11:38,250 INFO L290 TraceCheckUtils]: 29: Hoare triple {4343#(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); {4343#(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 14:11:38,960 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4282#(not (= |__VERIFIER_assert_#in~cond| 0))} {4192#true} #61#return; {4343#(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 14:11:38,961 INFO L290 TraceCheckUtils]: 27: Hoare triple {4282#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4282#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:11:38,961 INFO L290 TraceCheckUtils]: 26: Hoare triple {4359#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4282#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:11:38,962 INFO L290 TraceCheckUtils]: 25: Hoare triple {4192#true} ~cond := #in~cond; {4359#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:11:38,962 INFO L272 TraceCheckUtils]: 24: Hoare triple {4192#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4192#true} is VALID [2022-04-28 14:11:38,962 INFO L290 TraceCheckUtils]: 23: Hoare triple {4192#true} assume !!(#t~post6 < 10);havoc #t~post6; {4192#true} is VALID [2022-04-28 14:11:38,962 INFO L290 TraceCheckUtils]: 22: Hoare triple {4192#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4192#true} is VALID [2022-04-28 14:11:38,962 INFO L290 TraceCheckUtils]: 21: Hoare triple {4192#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); {4192#true} is VALID [2022-04-28 14:11:38,962 INFO L290 TraceCheckUtils]: 20: Hoare triple {4192#true} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4192#true} is VALID [2022-04-28 14:11:38,962 INFO L290 TraceCheckUtils]: 19: Hoare triple {4192#true} assume !!(0 != ~y~0); {4192#true} is VALID [2022-04-28 14:11:38,962 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4192#true} {4192#true} #61#return; {4192#true} is VALID [2022-04-28 14:11:38,962 INFO L290 TraceCheckUtils]: 17: Hoare triple {4192#true} assume true; {4192#true} is VALID [2022-04-28 14:11:38,962 INFO L290 TraceCheckUtils]: 16: Hoare triple {4192#true} assume !(0 == ~cond); {4192#true} is VALID [2022-04-28 14:11:38,962 INFO L290 TraceCheckUtils]: 15: Hoare triple {4192#true} ~cond := #in~cond; {4192#true} is VALID [2022-04-28 14:11:38,962 INFO L272 TraceCheckUtils]: 14: Hoare triple {4192#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4192#true} is VALID [2022-04-28 14:11:38,962 INFO L290 TraceCheckUtils]: 13: Hoare triple {4192#true} assume !!(#t~post6 < 10);havoc #t~post6; {4192#true} is VALID [2022-04-28 14:11:38,962 INFO L290 TraceCheckUtils]: 12: Hoare triple {4192#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4192#true} is VALID [2022-04-28 14:11:38,962 INFO L290 TraceCheckUtils]: 11: Hoare triple {4192#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4192#true} is VALID [2022-04-28 14:11:38,962 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4192#true} {4192#true} #59#return; {4192#true} is VALID [2022-04-28 14:11:38,963 INFO L290 TraceCheckUtils]: 9: Hoare triple {4192#true} assume true; {4192#true} is VALID [2022-04-28 14:11:38,963 INFO L290 TraceCheckUtils]: 8: Hoare triple {4192#true} assume !(0 == ~cond); {4192#true} is VALID [2022-04-28 14:11:38,963 INFO L290 TraceCheckUtils]: 7: Hoare triple {4192#true} ~cond := #in~cond; {4192#true} is VALID [2022-04-28 14:11:38,963 INFO L272 TraceCheckUtils]: 6: Hoare triple {4192#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4192#true} is VALID [2022-04-28 14:11:38,963 INFO L290 TraceCheckUtils]: 5: Hoare triple {4192#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4192#true} is VALID [2022-04-28 14:11:38,963 INFO L272 TraceCheckUtils]: 4: Hoare triple {4192#true} call #t~ret7 := main(); {4192#true} is VALID [2022-04-28 14:11:38,963 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4192#true} {4192#true} #65#return; {4192#true} is VALID [2022-04-28 14:11:38,963 INFO L290 TraceCheckUtils]: 2: Hoare triple {4192#true} assume true; {4192#true} is VALID [2022-04-28 14:11:38,963 INFO L290 TraceCheckUtils]: 1: Hoare triple {4192#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);~counter~0 := 0; {4192#true} is VALID [2022-04-28 14:11:38,963 INFO L272 TraceCheckUtils]: 0: Hoare triple {4192#true} call ULTIMATE.init(); {4192#true} is VALID [2022-04-28 14:11:38,963 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 15 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 14:11:38,963 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:11:38,963 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1566599239] [2022-04-28 14:11:38,963 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:11:38,964 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [407996353] [2022-04-28 14:11:38,964 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [407996353] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:11:38,964 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:11:38,964 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 9] total 18 [2022-04-28 14:11:38,964 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:11:38,964 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [148224786] [2022-04-28 14:11:38,964 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [148224786] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:11:38,964 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:11:38,964 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 14:11:38,964 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1078665711] [2022-04-28 14:11:38,964 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:11:38,965 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.0) internal successors, (28), 12 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 38 [2022-04-28 14:11:38,965 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:11:38,965 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 2.0) internal successors, (28), 12 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 14:11:39,910 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 14:11:39,910 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 14:11:39,910 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:11:39,911 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 14:11:39,911 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=250, Unknown=1, NotChecked=0, Total=306 [2022-04-28 14:11:39,911 INFO L87 Difference]: Start difference. First operand 65 states and 70 transitions. Second operand has 14 states, 14 states have (on average 2.0) internal successors, (28), 12 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 14:11:47,058 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:11:47,058 INFO L93 Difference]: Finished difference Result 78 states and 84 transitions. [2022-04-28 14:11:47,058 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 14:11:47,058 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.0) internal successors, (28), 12 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 38 [2022-04-28 14:11:47,058 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:11:47,058 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.0) internal successors, (28), 12 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 14:11:47,059 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 57 transitions. [2022-04-28 14:11:47,059 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.0) internal successors, (28), 12 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 14:11:47,060 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 57 transitions. [2022-04-28 14:11:47,060 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 57 transitions. [2022-04-28 14:11:47,498 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 14:11:47,499 INFO L225 Difference]: With dead ends: 78 [2022-04-28 14:11:47,499 INFO L226 Difference]: Without dead ends: 76 [2022-04-28 14:11:47,499 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 56 SyntacticMatches, 3 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 84 ImplicationChecksByTransitivity, 4.0s TimeCoverageRelationStatistics Valid=72, Invalid=347, Unknown=1, NotChecked=0, Total=420 [2022-04-28 14:11:47,500 INFO L413 NwaCegarLoop]: 22 mSDtfsCounter, 32 mSDsluCounter, 142 mSDsCounter, 0 mSdLazyCounter, 261 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 34 SdHoareTripleChecker+Valid, 164 SdHoareTripleChecker+Invalid, 272 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 261 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.9s IncrementalHoareTripleChecker+Time [2022-04-28 14:11:47,500 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [34 Valid, 164 Invalid, 272 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 261 Invalid, 0 Unknown, 0 Unchecked, 1.9s Time] [2022-04-28 14:11:47,500 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2022-04-28 14:11:47,591 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 65. [2022-04-28 14:11:47,591 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:11:47,592 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:11:47,592 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:11:47,592 INFO L87 Difference]: Start difference. First operand 76 states. Second operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:11:47,593 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:11:47,593 INFO L93 Difference]: Finished difference Result 76 states and 82 transitions. [2022-04-28 14:11:47,593 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 82 transitions. [2022-04-28 14:11:47,593 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:11:47,593 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:11:47,593 INFO L74 IsIncluded]: Start isIncluded. First operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 76 states. [2022-04-28 14:11:47,593 INFO L87 Difference]: Start difference. First operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 76 states. [2022-04-28 14:11:47,594 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:11:47,594 INFO L93 Difference]: Finished difference Result 76 states and 82 transitions. [2022-04-28 14:11:47,594 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 82 transitions. [2022-04-28 14:11:47,595 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:11:47,595 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:11:47,595 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:11:47,595 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:11:47,595 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:11:47,596 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 70 transitions. [2022-04-28 14:11:47,596 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 70 transitions. Word has length 38 [2022-04-28 14:11:47,596 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:11:47,596 INFO L495 AbstractCegarLoop]: Abstraction has 65 states and 70 transitions. [2022-04-28 14:11:47,596 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 2.0) internal successors, (28), 12 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 14:11:47,596 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 65 states and 70 transitions. [2022-04-28 14:11:58,650 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 65 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-28 14:11:58,650 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 70 transitions. [2022-04-28 14:11:58,650 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-28 14:11:58,650 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:11:58,650 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] [2022-04-28 14:11:58,666 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 14:11:58,851 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 14:11:58,851 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:11:58,851 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:11:58,851 INFO L85 PathProgramCache]: Analyzing trace with hash 539044694, now seen corresponding path program 3 times [2022-04-28 14:11:58,851 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:11:58,851 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2109368466] [2022-04-28 14:12:04,996 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 14:12:04,996 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 14:12:04,996 INFO L85 PathProgramCache]: Analyzing trace with hash 539044694, now seen corresponding path program 4 times [2022-04-28 14:12:04,996 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:12:04,996 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [232580010] [2022-04-28 14:12:04,997 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:12:04,997 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:12:05,006 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:12:05,006 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [989372373] [2022-04-28 14:12:05,006 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 14:12:05,006 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:12:05,006 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:12:05,007 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 14:12:05,008 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 14:12:05,045 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 14:12:05,045 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:12:05,046 INFO L263 TraceCheckSpWp]: Trace formula consists of 96 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 14:12:05,059 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:12:05,060 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:12:30,429 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 14:12:38,436 INFO L272 TraceCheckUtils]: 0: Hoare triple {4881#true} call ULTIMATE.init(); {4881#true} is VALID [2022-04-28 14:12:38,437 INFO L290 TraceCheckUtils]: 1: Hoare triple {4881#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);~counter~0 := 0; {4881#true} is VALID [2022-04-28 14:12:38,437 INFO L290 TraceCheckUtils]: 2: Hoare triple {4881#true} assume true; {4881#true} is VALID [2022-04-28 14:12:38,437 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4881#true} {4881#true} #65#return; {4881#true} is VALID [2022-04-28 14:12:38,437 INFO L272 TraceCheckUtils]: 4: Hoare triple {4881#true} call #t~ret7 := main(); {4881#true} is VALID [2022-04-28 14:12:38,437 INFO L290 TraceCheckUtils]: 5: Hoare triple {4881#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4881#true} is VALID [2022-04-28 14:12:38,437 INFO L272 TraceCheckUtils]: 6: Hoare triple {4881#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4881#true} is VALID [2022-04-28 14:12:38,437 INFO L290 TraceCheckUtils]: 7: Hoare triple {4881#true} ~cond := #in~cond; {4881#true} is VALID [2022-04-28 14:12:38,437 INFO L290 TraceCheckUtils]: 8: Hoare triple {4881#true} assume !(0 == ~cond); {4881#true} is VALID [2022-04-28 14:12:38,437 INFO L290 TraceCheckUtils]: 9: Hoare triple {4881#true} assume true; {4881#true} is VALID [2022-04-28 14:12:38,437 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4881#true} {4881#true} #59#return; {4881#true} is VALID [2022-04-28 14:12:38,437 INFO L290 TraceCheckUtils]: 11: Hoare triple {4881#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4919#(and (= main_~z~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:12:38,438 INFO L290 TraceCheckUtils]: 12: Hoare triple {4919#(and (= main_~z~0 0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4919#(and (= main_~z~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:12:38,438 INFO L290 TraceCheckUtils]: 13: Hoare triple {4919#(and (= main_~z~0 0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 10);havoc #t~post6; {4919#(and (= main_~z~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:12:38,438 INFO L272 TraceCheckUtils]: 14: Hoare triple {4919#(and (= main_~z~0 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)); {4881#true} is VALID [2022-04-28 14:12:38,438 INFO L290 TraceCheckUtils]: 15: Hoare triple {4881#true} ~cond := #in~cond; {4881#true} is VALID [2022-04-28 14:12:38,438 INFO L290 TraceCheckUtils]: 16: Hoare triple {4881#true} assume !(0 == ~cond); {4881#true} is VALID [2022-04-28 14:12:38,438 INFO L290 TraceCheckUtils]: 17: Hoare triple {4881#true} assume true; {4881#true} is VALID [2022-04-28 14:12:38,439 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4881#true} {4919#(and (= main_~z~0 0) (= main_~a~0 main_~x~0))} #61#return; {4919#(and (= main_~z~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:12:38,439 INFO L290 TraceCheckUtils]: 19: Hoare triple {4919#(and (= main_~z~0 0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {4944#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:12:38,440 INFO L290 TraceCheckUtils]: 20: Hoare triple {4944#(and (= main_~z~0 0) (not (= main_~y~0 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; {4948#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~z~0 main_~x~0) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:12:38,443 INFO L290 TraceCheckUtils]: 21: Hoare triple {4948#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~z~0 main_~x~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); {4952#(and (= main_~a~0 main_~z~0) (exists ((aux_div_v_main_~y~0_89_28 Int) (aux_mod_v_main_~y~0_89_28 Int)) (and (<= 0 (+ (* aux_div_v_main_~y~0_89_28 2) aux_mod_v_main_~y~0_89_28)) (<= 1 aux_mod_v_main_~y~0_89_28) (< aux_mod_v_main_~y~0_89_28 2) (= main_~y~0 (div (+ (- 1) (* aux_div_v_main_~y~0_89_28 2) aux_mod_v_main_~y~0_89_28) 2)))) (= (* main_~a~0 2) main_~x~0))} is VALID [2022-04-28 14:12:38,444 INFO L290 TraceCheckUtils]: 22: Hoare triple {4952#(and (= main_~a~0 main_~z~0) (exists ((aux_div_v_main_~y~0_89_28 Int) (aux_mod_v_main_~y~0_89_28 Int)) (and (<= 0 (+ (* aux_div_v_main_~y~0_89_28 2) aux_mod_v_main_~y~0_89_28)) (<= 1 aux_mod_v_main_~y~0_89_28) (< aux_mod_v_main_~y~0_89_28 2) (= main_~y~0 (div (+ (- 1) (* aux_div_v_main_~y~0_89_28 2) aux_mod_v_main_~y~0_89_28) 2)))) (= (* main_~a~0 2) main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4956#(and (= main_~a~0 main_~z~0) (= (* main_~a~0 2) main_~x~0) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:12:38,444 INFO L290 TraceCheckUtils]: 23: Hoare triple {4956#(and (= main_~a~0 main_~z~0) (= (* main_~a~0 2) main_~x~0) (< 0 (+ main_~y~0 1)))} assume !!(#t~post6 < 10);havoc #t~post6; {4956#(and (= main_~a~0 main_~z~0) (= (* main_~a~0 2) main_~x~0) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:12:38,444 INFO L272 TraceCheckUtils]: 24: Hoare triple {4956#(and (= main_~a~0 main_~z~0) (= (* main_~a~0 2) main_~x~0) (< 0 (+ main_~y~0 1)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4881#true} is VALID [2022-04-28 14:12:38,444 INFO L290 TraceCheckUtils]: 25: Hoare triple {4881#true} ~cond := #in~cond; {4966#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:12:38,445 INFO L290 TraceCheckUtils]: 26: Hoare triple {4966#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4970#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:12:38,445 INFO L290 TraceCheckUtils]: 27: Hoare triple {4970#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4970#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:12:38,446 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4970#(not (= |__VERIFIER_assert_#in~cond| 0))} {4956#(and (= main_~a~0 main_~z~0) (= (* main_~a~0 2) main_~x~0) (< 0 (+ main_~y~0 1)))} #61#return; {4977#(and (= main_~a~0 main_~z~0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:12:38,446 INFO L290 TraceCheckUtils]: 29: Hoare triple {4977#(and (= main_~a~0 main_~z~0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (< 0 (+ main_~y~0 1)))} assume !!(0 != ~y~0); {4977#(and (= main_~a~0 main_~z~0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:12:38,447 INFO L290 TraceCheckUtils]: 30: Hoare triple {4977#(and (= main_~a~0 main_~z~0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~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)); {4984#(and (= main_~a~0 main_~z~0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:12:38,449 INFO L290 TraceCheckUtils]: 31: Hoare triple {4984#(and (= main_~a~0 main_~z~0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) 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); {4988#(and (= main_~a~0 main_~z~0) (= (* main_~a~0 4) main_~x~0) (exists ((aux_div_v_main_~y~0_90_22 Int) (aux_mod_v_main_~y~0_90_22 Int)) (and (not (= aux_mod_v_main_~y~0_90_22 1)) (<= 0 aux_mod_v_main_~y~0_90_22) (< 0 (+ (* aux_div_v_main_~y~0_90_22 2) aux_mod_v_main_~y~0_90_22 1)) (< aux_mod_v_main_~y~0_90_22 2) (= (+ (* (* main_~a~0 2) (+ (* aux_div_v_main_~y~0_90_22 2) aux_mod_v_main_~y~0_90_22)) main_~z~0) (* main_~b~0 main_~a~0)) (= (div (+ (* aux_div_v_main_~y~0_90_22 2) aux_mod_v_main_~y~0_90_22) 2) main_~y~0))))} is VALID [2022-04-28 14:12:39,309 INFO L290 TraceCheckUtils]: 32: Hoare triple {4988#(and (= main_~a~0 main_~z~0) (= (* main_~a~0 4) main_~x~0) (exists ((aux_div_v_main_~y~0_90_22 Int) (aux_mod_v_main_~y~0_90_22 Int)) (and (not (= aux_mod_v_main_~y~0_90_22 1)) (<= 0 aux_mod_v_main_~y~0_90_22) (< 0 (+ (* aux_div_v_main_~y~0_90_22 2) aux_mod_v_main_~y~0_90_22 1)) (< aux_mod_v_main_~y~0_90_22 2) (= (+ (* (* main_~a~0 2) (+ (* aux_div_v_main_~y~0_90_22 2) aux_mod_v_main_~y~0_90_22)) main_~z~0) (* main_~b~0 main_~a~0)) (= (div (+ (* aux_div_v_main_~y~0_90_22 2) aux_mod_v_main_~y~0_90_22) 2) main_~y~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4992#(and (= main_~a~0 main_~z~0) (= (* main_~a~0 4) main_~x~0) (or (and (= main_~a~0 0) (< 0 (+ main_~y~0 1))) (and (< (div (* (- 1) (div (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~a~0 main_~y~0)) main_~a~0)) (- 2)) (+ (div (div (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~a~0 main_~y~0)) main_~a~0) 2) 1)) (= (mod (+ main_~z~0 (* main_~a~0 main_~y~0 (- 4)) (* main_~b~0 main_~a~0)) 2) 0) (< (div (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~a~0 main_~y~0)) main_~a~0) 2) (< 0 (+ (div (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~a~0 main_~y~0)) main_~a~0) (* main_~y~0 2) 1)) (= (mod (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~a~0 main_~y~0)) main_~a~0) 0) (<= 0 (div (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~a~0 main_~y~0)) main_~a~0)))))} is VALID [2022-04-28 14:12:39,310 INFO L290 TraceCheckUtils]: 33: Hoare triple {4992#(and (= main_~a~0 main_~z~0) (= (* main_~a~0 4) main_~x~0) (or (and (= main_~a~0 0) (< 0 (+ main_~y~0 1))) (and (< (div (* (- 1) (div (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~a~0 main_~y~0)) main_~a~0)) (- 2)) (+ (div (div (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~a~0 main_~y~0)) main_~a~0) 2) 1)) (= (mod (+ main_~z~0 (* main_~a~0 main_~y~0 (- 4)) (* main_~b~0 main_~a~0)) 2) 0) (< (div (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~a~0 main_~y~0)) main_~a~0) 2) (< 0 (+ (div (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~a~0 main_~y~0)) main_~a~0) (* main_~y~0 2) 1)) (= (mod (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~a~0 main_~y~0)) main_~a~0) 0) (<= 0 (div (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~a~0 main_~y~0)) main_~a~0)))))} assume !!(#t~post6 < 10);havoc #t~post6; {4992#(and (= main_~a~0 main_~z~0) (= (* main_~a~0 4) main_~x~0) (or (and (= main_~a~0 0) (< 0 (+ main_~y~0 1))) (and (< (div (* (- 1) (div (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~a~0 main_~y~0)) main_~a~0)) (- 2)) (+ (div (div (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~a~0 main_~y~0)) main_~a~0) 2) 1)) (= (mod (+ main_~z~0 (* main_~a~0 main_~y~0 (- 4)) (* main_~b~0 main_~a~0)) 2) 0) (< (div (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~a~0 main_~y~0)) main_~a~0) 2) (< 0 (+ (div (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~a~0 main_~y~0)) main_~a~0) (* main_~y~0 2) 1)) (= (mod (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~a~0 main_~y~0)) main_~a~0) 0) (<= 0 (div (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~a~0 main_~y~0)) main_~a~0)))))} is VALID [2022-04-28 14:12:39,831 INFO L272 TraceCheckUtils]: 34: Hoare triple {4992#(and (= main_~a~0 main_~z~0) (= (* main_~a~0 4) main_~x~0) (or (and (= main_~a~0 0) (< 0 (+ main_~y~0 1))) (and (< (div (* (- 1) (div (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~a~0 main_~y~0)) main_~a~0)) (- 2)) (+ (div (div (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~a~0 main_~y~0)) main_~a~0) 2) 1)) (= (mod (+ main_~z~0 (* main_~a~0 main_~y~0 (- 4)) (* main_~b~0 main_~a~0)) 2) 0) (< (div (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~a~0 main_~y~0)) main_~a~0) 2) (< 0 (+ (div (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~a~0 main_~y~0)) main_~a~0) (* main_~y~0 2) 1)) (= (mod (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~a~0 main_~y~0)) main_~a~0) 0) (<= 0 (div (+ (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* (- 2) main_~a~0 main_~y~0)) main_~a~0)))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4999#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:12:39,832 INFO L290 TraceCheckUtils]: 35: Hoare triple {4999#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5003#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:12:39,832 INFO L290 TraceCheckUtils]: 36: Hoare triple {5003#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4882#false} is VALID [2022-04-28 14:12:39,832 INFO L290 TraceCheckUtils]: 37: Hoare triple {4882#false} assume !false; {4882#false} is VALID [2022-04-28 14:12:39,832 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 6 proven. 13 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 14:12:39,832 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:13:10,865 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 14:13:32,980 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:13:32,981 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [232580010] [2022-04-28 14:13:32,981 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:13:32,981 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [989372373] [2022-04-28 14:13:32,981 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [989372373] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 14:13:32,981 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 14:13:32,981 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15] total 15 [2022-04-28 14:13:32,981 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:13:32,981 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2109368466] [2022-04-28 14:13:32,981 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2109368466] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:13:32,981 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:13:32,981 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 14:13:32,981 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1300962532] [2022-04-28 14:13:32,981 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:13:32,982 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 1.8666666666666667) internal successors, (28), 14 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 38 [2022-04-28 14:13:32,982 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:13:32,982 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 1.8666666666666667) internal successors, (28), 14 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 14:13:35,940 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 14:13:35,940 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 14:13:35,941 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:13:35,941 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 14:13:35,941 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=279, Unknown=0, NotChecked=0, Total=342 [2022-04-28 14:13:35,941 INFO L87 Difference]: Start difference. First operand 65 states and 70 transitions. Second operand has 15 states, 15 states have (on average 1.8666666666666667) internal successors, (28), 14 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 14:13:49,310 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.40s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:13:51,084 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:13:51,085 INFO L93 Difference]: Finished difference Result 78 states and 84 transitions. [2022-04-28 14:13:51,085 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 14:13:51,085 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 1.8666666666666667) internal successors, (28), 14 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 38 [2022-04-28 14:13:51,085 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:13:51,085 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 1.8666666666666667) internal successors, (28), 14 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 14:13:51,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 57 transitions. [2022-04-28 14:13:51,086 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 1.8666666666666667) internal successors, (28), 14 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 14:13:51,087 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 57 transitions. [2022-04-28 14:13:51,087 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 57 transitions. [2022-04-28 14:13:53,152 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 14:13:53,153 INFO L225 Difference]: With dead ends: 78 [2022-04-28 14:13:53,153 INFO L226 Difference]: Without dead ends: 76 [2022-04-28 14:13:53,154 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 29 SyntacticMatches, 3 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 2 DeprecatedPredicates, 107 ImplicationChecksByTransitivity, 5.1s TimeCoverageRelationStatistics Valid=74, Invalid=346, Unknown=0, NotChecked=0, Total=420 [2022-04-28 14:13:53,154 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 22 mSDsluCounter, 150 mSDsCounter, 0 mSdLazyCounter, 186 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 178 SdHoareTripleChecker+Invalid, 189 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 186 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.8s IncrementalHoareTripleChecker+Time [2022-04-28 14:13:53,154 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 178 Invalid, 189 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 186 Invalid, 0 Unknown, 0 Unchecked, 6.8s Time] [2022-04-28 14:13:53,155 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2022-04-28 14:13:53,247 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 65. [2022-04-28 14:13:53,248 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:13:53,248 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:13:53,248 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:13:53,248 INFO L87 Difference]: Start difference. First operand 76 states. Second operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:13:53,249 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:13:53,249 INFO L93 Difference]: Finished difference Result 76 states and 82 transitions. [2022-04-28 14:13:53,249 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 82 transitions. [2022-04-28 14:13:53,249 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:13:53,249 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:13:53,250 INFO L74 IsIncluded]: Start isIncluded. First operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 76 states. [2022-04-28 14:13:53,250 INFO L87 Difference]: Start difference. First operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 76 states. [2022-04-28 14:13:53,251 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:13:53,251 INFO L93 Difference]: Finished difference Result 76 states and 82 transitions. [2022-04-28 14:13:53,251 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 82 transitions. [2022-04-28 14:13:53,251 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:13:53,251 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:13:53,251 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:13:53,251 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:13:53,251 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:13:53,252 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 70 transitions. [2022-04-28 14:13:53,252 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 70 transitions. Word has length 38 [2022-04-28 14:13:53,252 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:13:53,252 INFO L495 AbstractCegarLoop]: Abstraction has 65 states and 70 transitions. [2022-04-28 14:13:53,252 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 1.8666666666666667) internal successors, (28), 14 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 14:13:53,252 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 65 states and 70 transitions. [2022-04-28 14:14:05,435 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 65 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-28 14:14:05,435 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 70 transitions. [2022-04-28 14:14:05,436 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-28 14:14:05,436 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:14:05,436 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:14:05,459 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Ended with exit code 0 [2022-04-28 14:14:05,636 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 14:14:05,636 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:14:05,637 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:14:05,637 INFO L85 PathProgramCache]: Analyzing trace with hash 1348391320, now seen corresponding path program 3 times [2022-04-28 14:14:05,637 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:14:05,637 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1978330982] [2022-04-28 14:14:09,681 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 14:14:09,681 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 14:14:09,681 INFO L85 PathProgramCache]: Analyzing trace with hash 1348391320, now seen corresponding path program 4 times [2022-04-28 14:14:09,681 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:14:09,681 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1149277808] [2022-04-28 14:14:09,681 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:14:09,681 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:14:09,690 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:14:09,690 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [353828731] [2022-04-28 14:14:09,690 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 14:14:09,690 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:14:09,690 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:14:09,695 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 14:14:09,696 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 14:14:09,732 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 14:14:09,732 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:14:09,733 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-28 14:14:09,745 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:14:09,746 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:14:24,190 INFO L272 TraceCheckUtils]: 0: Hoare triple {5487#true} call ULTIMATE.init(); {5487#true} is VALID [2022-04-28 14:14:24,190 INFO L290 TraceCheckUtils]: 1: Hoare triple {5487#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);~counter~0 := 0; {5487#true} is VALID [2022-04-28 14:14:24,190 INFO L290 TraceCheckUtils]: 2: Hoare triple {5487#true} assume true; {5487#true} is VALID [2022-04-28 14:14:24,190 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5487#true} {5487#true} #65#return; {5487#true} is VALID [2022-04-28 14:14:24,190 INFO L272 TraceCheckUtils]: 4: Hoare triple {5487#true} call #t~ret7 := main(); {5487#true} is VALID [2022-04-28 14:14:24,190 INFO L290 TraceCheckUtils]: 5: Hoare triple {5487#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5487#true} is VALID [2022-04-28 14:14:24,190 INFO L272 TraceCheckUtils]: 6: Hoare triple {5487#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5487#true} is VALID [2022-04-28 14:14:24,190 INFO L290 TraceCheckUtils]: 7: Hoare triple {5487#true} ~cond := #in~cond; {5487#true} is VALID [2022-04-28 14:14:24,190 INFO L290 TraceCheckUtils]: 8: Hoare triple {5487#true} assume !(0 == ~cond); {5487#true} is VALID [2022-04-28 14:14:24,190 INFO L290 TraceCheckUtils]: 9: Hoare triple {5487#true} assume true; {5487#true} is VALID [2022-04-28 14:14:24,190 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5487#true} {5487#true} #59#return; {5487#true} is VALID [2022-04-28 14:14:24,191 INFO L290 TraceCheckUtils]: 11: Hoare triple {5487#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5525#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:14:24,191 INFO L290 TraceCheckUtils]: 12: Hoare triple {5525#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5525#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:14:24,191 INFO L290 TraceCheckUtils]: 13: Hoare triple {5525#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 10);havoc #t~post6; {5525#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:14:24,192 INFO L272 TraceCheckUtils]: 14: Hoare triple {5525#(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)); {5487#true} is VALID [2022-04-28 14:14:24,192 INFO L290 TraceCheckUtils]: 15: Hoare triple {5487#true} ~cond := #in~cond; {5487#true} is VALID [2022-04-28 14:14:24,192 INFO L290 TraceCheckUtils]: 16: Hoare triple {5487#true} assume !(0 == ~cond); {5487#true} is VALID [2022-04-28 14:14:24,192 INFO L290 TraceCheckUtils]: 17: Hoare triple {5487#true} assume true; {5487#true} is VALID [2022-04-28 14:14:24,192 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5487#true} {5525#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #61#return; {5525#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:14:24,193 INFO L290 TraceCheckUtils]: 19: Hoare triple {5525#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {5550#(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 14:14:24,194 INFO L290 TraceCheckUtils]: 20: Hoare triple {5550#(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; {5554#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:14:24,195 INFO L290 TraceCheckUtils]: 21: Hoare triple {5554#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~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); {5558#(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 14:14:24,195 INFO L290 TraceCheckUtils]: 22: Hoare triple {5558#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5558#(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 14:14:24,196 INFO L290 TraceCheckUtils]: 23: Hoare triple {5558#(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 !!(#t~post6 < 10);havoc #t~post6; {5558#(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 14:14:24,196 INFO L272 TraceCheckUtils]: 24: Hoare triple {5558#(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)); {5487#true} is VALID [2022-04-28 14:14:24,196 INFO L290 TraceCheckUtils]: 25: Hoare triple {5487#true} ~cond := #in~cond; {5571#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:14:24,196 INFO L290 TraceCheckUtils]: 26: Hoare triple {5571#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5575#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:14:24,197 INFO L290 TraceCheckUtils]: 27: Hoare triple {5575#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5575#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:14:24,219 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5575#(not (= |__VERIFIER_assert_#in~cond| 0))} {5558#(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))} #61#return; {5558#(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 14:14:24,220 INFO L290 TraceCheckUtils]: 29: Hoare triple {5558#(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); {5585#(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 14:14:24,221 INFO L290 TraceCheckUtils]: 30: Hoare triple {5585#(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; {5589#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= (* main_~x~0 3) (* main_~z~0 2)) (<= 1 (mod main_~b~0 2)) (= (+ main_~a~0 main_~x~0) main_~z~0) (= (div (+ (- 1) main_~b~0) 2) (+ main_~y~0 1)) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:14:24,223 INFO L290 TraceCheckUtils]: 31: Hoare triple {5589#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= (* main_~x~0 3) (* main_~z~0 2)) (<= 1 (mod main_~b~0 2)) (= (+ main_~a~0 main_~x~0) main_~z~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); {5593#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~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)) (= (* main_~z~0 2) (+ (* main_~a~0 (- 3)) (* main_~z~0 3))))} is VALID [2022-04-28 14:14:24,223 INFO L290 TraceCheckUtils]: 32: Hoare triple {5593#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~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)) (= (* main_~z~0 2) (+ (* main_~a~0 (- 3)) (* main_~z~0 3))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5593#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~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)) (= (* main_~z~0 2) (+ (* main_~a~0 (- 3)) (* main_~z~0 3))))} is VALID [2022-04-28 14:14:24,224 INFO L290 TraceCheckUtils]: 33: Hoare triple {5593#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~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)) (= (* main_~z~0 2) (+ (* main_~a~0 (- 3)) (* main_~z~0 3))))} assume !!(#t~post6 < 10);havoc #t~post6; {5593#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~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)) (= (* main_~z~0 2) (+ (* main_~a~0 (- 3)) (* main_~z~0 3))))} is VALID [2022-04-28 14:14:24,778 INFO L272 TraceCheckUtils]: 34: Hoare triple {5593#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~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)) (= (* main_~z~0 2) (+ (* main_~a~0 (- 3)) (* main_~z~0 3))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5603#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:14:24,779 INFO L290 TraceCheckUtils]: 35: Hoare triple {5603#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5607#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:14:24,779 INFO L290 TraceCheckUtils]: 36: Hoare triple {5607#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5488#false} is VALID [2022-04-28 14:14:24,779 INFO L290 TraceCheckUtils]: 37: Hoare triple {5488#false} assume !false; {5488#false} is VALID [2022-04-28 14:14:24,779 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 6 proven. 13 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 14:14:24,779 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:15:08,392 INFO L290 TraceCheckUtils]: 37: Hoare triple {5488#false} assume !false; {5488#false} is VALID [2022-04-28 14:15:08,392 INFO L290 TraceCheckUtils]: 36: Hoare triple {5607#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5488#false} is VALID [2022-04-28 14:15:08,392 INFO L290 TraceCheckUtils]: 35: Hoare triple {5603#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5607#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:15:08,393 INFO L272 TraceCheckUtils]: 34: Hoare triple {5623#(= (+ 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)); {5603#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:15:08,394 INFO L290 TraceCheckUtils]: 33: Hoare triple {5623#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !!(#t~post6 < 10);havoc #t~post6; {5623#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:15:08,394 INFO L290 TraceCheckUtils]: 32: Hoare triple {5623#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5623#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:15:08,398 INFO L290 TraceCheckUtils]: 31: Hoare triple {5633#(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); {5623#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:15:08,401 INFO L290 TraceCheckUtils]: 30: Hoare triple {5637#(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; {5633#(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 14:15:08,402 INFO L290 TraceCheckUtils]: 29: Hoare triple {5637#(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); {5637#(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 14:15:10,405 WARN L284 TraceCheckUtils]: 28: Hoare quadruple {5575#(not (= |__VERIFIER_assert_#in~cond| 0))} {5487#true} #61#return; {5637#(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 UNKNOWN [2022-04-28 14:15:10,405 INFO L290 TraceCheckUtils]: 27: Hoare triple {5575#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5575#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:15:10,405 INFO L290 TraceCheckUtils]: 26: Hoare triple {5653#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5575#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:15:10,406 INFO L290 TraceCheckUtils]: 25: Hoare triple {5487#true} ~cond := #in~cond; {5653#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:15:10,406 INFO L272 TraceCheckUtils]: 24: Hoare triple {5487#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5487#true} is VALID [2022-04-28 14:15:10,406 INFO L290 TraceCheckUtils]: 23: Hoare triple {5487#true} assume !!(#t~post6 < 10);havoc #t~post6; {5487#true} is VALID [2022-04-28 14:15:10,406 INFO L290 TraceCheckUtils]: 22: Hoare triple {5487#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5487#true} is VALID [2022-04-28 14:15:10,406 INFO L290 TraceCheckUtils]: 21: Hoare triple {5487#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); {5487#true} is VALID [2022-04-28 14:15:10,406 INFO L290 TraceCheckUtils]: 20: Hoare triple {5487#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; {5487#true} is VALID [2022-04-28 14:15:10,406 INFO L290 TraceCheckUtils]: 19: Hoare triple {5487#true} assume !!(0 != ~y~0); {5487#true} is VALID [2022-04-28 14:15:10,406 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5487#true} {5487#true} #61#return; {5487#true} is VALID [2022-04-28 14:15:10,406 INFO L290 TraceCheckUtils]: 17: Hoare triple {5487#true} assume true; {5487#true} is VALID [2022-04-28 14:15:10,406 INFO L290 TraceCheckUtils]: 16: Hoare triple {5487#true} assume !(0 == ~cond); {5487#true} is VALID [2022-04-28 14:15:10,406 INFO L290 TraceCheckUtils]: 15: Hoare triple {5487#true} ~cond := #in~cond; {5487#true} is VALID [2022-04-28 14:15:10,406 INFO L272 TraceCheckUtils]: 14: Hoare triple {5487#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5487#true} is VALID [2022-04-28 14:15:10,406 INFO L290 TraceCheckUtils]: 13: Hoare triple {5487#true} assume !!(#t~post6 < 10);havoc #t~post6; {5487#true} is VALID [2022-04-28 14:15:10,407 INFO L290 TraceCheckUtils]: 12: Hoare triple {5487#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5487#true} is VALID [2022-04-28 14:15:10,407 INFO L290 TraceCheckUtils]: 11: Hoare triple {5487#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5487#true} is VALID [2022-04-28 14:15:10,407 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5487#true} {5487#true} #59#return; {5487#true} is VALID [2022-04-28 14:15:10,407 INFO L290 TraceCheckUtils]: 9: Hoare triple {5487#true} assume true; {5487#true} is VALID [2022-04-28 14:15:10,407 INFO L290 TraceCheckUtils]: 8: Hoare triple {5487#true} assume !(0 == ~cond); {5487#true} is VALID [2022-04-28 14:15:10,407 INFO L290 TraceCheckUtils]: 7: Hoare triple {5487#true} ~cond := #in~cond; {5487#true} is VALID [2022-04-28 14:15:10,407 INFO L272 TraceCheckUtils]: 6: Hoare triple {5487#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5487#true} is VALID [2022-04-28 14:15:10,407 INFO L290 TraceCheckUtils]: 5: Hoare triple {5487#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5487#true} is VALID [2022-04-28 14:15:10,407 INFO L272 TraceCheckUtils]: 4: Hoare triple {5487#true} call #t~ret7 := main(); {5487#true} is VALID [2022-04-28 14:15:10,407 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5487#true} {5487#true} #65#return; {5487#true} is VALID [2022-04-28 14:15:10,407 INFO L290 TraceCheckUtils]: 2: Hoare triple {5487#true} assume true; {5487#true} is VALID [2022-04-28 14:15:10,407 INFO L290 TraceCheckUtils]: 1: Hoare triple {5487#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);~counter~0 := 0; {5487#true} is VALID [2022-04-28 14:15:10,407 INFO L272 TraceCheckUtils]: 0: Hoare triple {5487#true} call ULTIMATE.init(); {5487#true} is VALID [2022-04-28 14:15:10,407 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 15 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 14:15:10,407 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:15:10,407 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1149277808] [2022-04-28 14:15:10,408 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:15:10,408 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [353828731] [2022-04-28 14:15:10,408 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [353828731] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:15:10,408 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:15:10,408 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9] total 17 [2022-04-28 14:15:10,408 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:15:10,408 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1978330982] [2022-04-28 14:15:10,408 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1978330982] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:15:10,408 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:15:10,408 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 14:15:10,408 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1323034721] [2022-04-28 14:15:10,408 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:15:10,408 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 12 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 38 [2022-04-28 14:15:10,409 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:15:10,409 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 12 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 14:15:12,443 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 14:15:12,443 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 14:15:12,443 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:15:12,444 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 14:15:12,444 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=218, Unknown=0, NotChecked=0, Total=272 [2022-04-28 14:15:12,444 INFO L87 Difference]: Start difference. First operand 65 states and 70 transitions. Second operand has 13 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 12 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 14:15:16,336 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.14s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:15:18,914 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.23s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:15:26,672 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.60s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:15:40,623 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.53s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:15:43,803 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.02s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:15:45,749 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:15:45,749 INFO L93 Difference]: Finished difference Result 76 states and 82 transitions. [2022-04-28 14:15:45,749 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 14:15:45,749 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 12 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 38 [2022-04-28 14:15:45,749 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:15:45,749 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 12 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 14:15:45,750 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-28 14:15:45,750 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 12 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 14:15:45,751 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-28 14:15:45,751 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 58 transitions. [2022-04-28 14:15:47,926 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 57 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 14:15:47,927 INFO L225 Difference]: With dead ends: 76 [2022-04-28 14:15:47,927 INFO L226 Difference]: Without dead ends: 74 [2022-04-28 14:15:47,928 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 77 GetRequests, 57 SyntacticMatches, 3 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 50 ImplicationChecksByTransitivity, 7.9s TimeCoverageRelationStatistics Valid=67, Invalid=275, Unknown=0, NotChecked=0, Total=342 [2022-04-28 14:15:47,928 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 18 mSDsluCounter, 188 mSDsCounter, 0 mSdLazyCounter, 271 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 12.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 213 SdHoareTripleChecker+Invalid, 274 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 271 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 12.4s IncrementalHoareTripleChecker+Time [2022-04-28 14:15:47,928 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 213 Invalid, 274 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 271 Invalid, 0 Unknown, 0 Unchecked, 12.4s Time] [2022-04-28 14:15:47,928 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-28 14:15:48,008 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 52. [2022-04-28 14:15:48,008 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:15:48,008 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 52 states, 37 states have (on average 1.135135135135135) internal successors, (42), 39 states have internal predecessors, (42), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:15:48,008 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 52 states, 37 states have (on average 1.135135135135135) internal successors, (42), 39 states have internal predecessors, (42), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:15:48,008 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 52 states, 37 states have (on average 1.135135135135135) internal successors, (42), 39 states have internal predecessors, (42), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:15:48,009 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:15:48,009 INFO L93 Difference]: Finished difference Result 74 states and 80 transitions. [2022-04-28 14:15:48,009 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 80 transitions. [2022-04-28 14:15:48,009 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:15:48,009 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:15:48,009 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 37 states have (on average 1.135135135135135) internal successors, (42), 39 states have internal predecessors, (42), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 74 states. [2022-04-28 14:15:48,010 INFO L87 Difference]: Start difference. First operand has 52 states, 37 states have (on average 1.135135135135135) internal successors, (42), 39 states have internal predecessors, (42), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 74 states. [2022-04-28 14:15:48,010 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:15:48,010 INFO L93 Difference]: Finished difference Result 74 states and 80 transitions. [2022-04-28 14:15:48,011 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 80 transitions. [2022-04-28 14:15:48,011 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:15:48,011 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:15:48,011 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:15:48,011 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:15:48,011 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 37 states have (on average 1.135135135135135) internal successors, (42), 39 states have internal predecessors, (42), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:15:48,011 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 56 transitions. [2022-04-28 14:15:48,012 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 56 transitions. Word has length 38 [2022-04-28 14:15:48,012 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:15:48,012 INFO L495 AbstractCegarLoop]: Abstraction has 52 states and 56 transitions. [2022-04-28 14:15:48,012 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 12 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 14:15:48,012 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 52 states and 56 transitions. [2022-04-28 14:15:58,779 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 52 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-28 14:15:58,780 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 56 transitions. [2022-04-28 14:15:58,780 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-28 14:15:58,780 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:15:58,780 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 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 14:15:58,799 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-28 14:15:58,980 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-28 14:15:58,980 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:15:58,981 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:15:58,981 INFO L85 PathProgramCache]: Analyzing trace with hash -1258071893, now seen corresponding path program 5 times [2022-04-28 14:15:58,981 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:15:58,981 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [227524631] [2022-04-28 14:16:00,842 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 14:16:00,842 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 14:16:00,842 INFO L85 PathProgramCache]: Analyzing trace with hash -1258071893, now seen corresponding path program 6 times [2022-04-28 14:16:00,842 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:16:00,842 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1815806281] [2022-04-28 14:16:00,842 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:16:00,842 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:16:00,850 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:16:00,850 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1943960994] [2022-04-28 14:16:00,851 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 14:16:00,851 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:16:00,851 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:16:00,851 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:16:00,852 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-28 14:16:00,895 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 14:16:00,895 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:16:00,895 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 14:16:00,903 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:16:00,904 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:16:01,101 INFO L272 TraceCheckUtils]: 0: Hoare triple {6139#true} call ULTIMATE.init(); {6139#true} is VALID [2022-04-28 14:16:01,103 INFO L290 TraceCheckUtils]: 1: Hoare triple {6139#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);~counter~0 := 0; {6147#(<= ~counter~0 0)} is VALID [2022-04-28 14:16:01,104 INFO L290 TraceCheckUtils]: 2: Hoare triple {6147#(<= ~counter~0 0)} assume true; {6147#(<= ~counter~0 0)} is VALID [2022-04-28 14:16:01,104 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6147#(<= ~counter~0 0)} {6139#true} #65#return; {6147#(<= ~counter~0 0)} is VALID [2022-04-28 14:16:01,104 INFO L272 TraceCheckUtils]: 4: Hoare triple {6147#(<= ~counter~0 0)} call #t~ret7 := main(); {6147#(<= ~counter~0 0)} is VALID [2022-04-28 14:16:01,105 INFO L290 TraceCheckUtils]: 5: Hoare triple {6147#(<= ~counter~0 0)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {6147#(<= ~counter~0 0)} is VALID [2022-04-28 14:16:01,105 INFO L272 TraceCheckUtils]: 6: Hoare triple {6147#(<= ~counter~0 0)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {6147#(<= ~counter~0 0)} is VALID [2022-04-28 14:16:01,105 INFO L290 TraceCheckUtils]: 7: Hoare triple {6147#(<= ~counter~0 0)} ~cond := #in~cond; {6147#(<= ~counter~0 0)} is VALID [2022-04-28 14:16:01,105 INFO L290 TraceCheckUtils]: 8: Hoare triple {6147#(<= ~counter~0 0)} assume !(0 == ~cond); {6147#(<= ~counter~0 0)} is VALID [2022-04-28 14:16:01,106 INFO L290 TraceCheckUtils]: 9: Hoare triple {6147#(<= ~counter~0 0)} assume true; {6147#(<= ~counter~0 0)} is VALID [2022-04-28 14:16:01,106 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6147#(<= ~counter~0 0)} {6147#(<= ~counter~0 0)} #59#return; {6147#(<= ~counter~0 0)} is VALID [2022-04-28 14:16:01,106 INFO L290 TraceCheckUtils]: 11: Hoare triple {6147#(<= ~counter~0 0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {6147#(<= ~counter~0 0)} is VALID [2022-04-28 14:16:01,107 INFO L290 TraceCheckUtils]: 12: Hoare triple {6147#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6181#(<= ~counter~0 1)} is VALID [2022-04-28 14:16:01,107 INFO L290 TraceCheckUtils]: 13: Hoare triple {6181#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {6181#(<= ~counter~0 1)} is VALID [2022-04-28 14:16:01,107 INFO L272 TraceCheckUtils]: 14: Hoare triple {6181#(<= ~counter~0 1)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6181#(<= ~counter~0 1)} is VALID [2022-04-28 14:16:01,108 INFO L290 TraceCheckUtils]: 15: Hoare triple {6181#(<= ~counter~0 1)} ~cond := #in~cond; {6181#(<= ~counter~0 1)} is VALID [2022-04-28 14:16:01,108 INFO L290 TraceCheckUtils]: 16: Hoare triple {6181#(<= ~counter~0 1)} assume !(0 == ~cond); {6181#(<= ~counter~0 1)} is VALID [2022-04-28 14:16:01,108 INFO L290 TraceCheckUtils]: 17: Hoare triple {6181#(<= ~counter~0 1)} assume true; {6181#(<= ~counter~0 1)} is VALID [2022-04-28 14:16:01,109 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6181#(<= ~counter~0 1)} {6181#(<= ~counter~0 1)} #61#return; {6181#(<= ~counter~0 1)} is VALID [2022-04-28 14:16:01,109 INFO L290 TraceCheckUtils]: 19: Hoare triple {6181#(<= ~counter~0 1)} assume !!(0 != ~y~0); {6181#(<= ~counter~0 1)} is VALID [2022-04-28 14:16:01,109 INFO L290 TraceCheckUtils]: 20: Hoare triple {6181#(<= ~counter~0 1)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6181#(<= ~counter~0 1)} is VALID [2022-04-28 14:16:01,109 INFO L290 TraceCheckUtils]: 21: Hoare triple {6181#(<= ~counter~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); {6181#(<= ~counter~0 1)} is VALID [2022-04-28 14:16:01,110 INFO L290 TraceCheckUtils]: 22: Hoare triple {6181#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6212#(<= ~counter~0 2)} is VALID [2022-04-28 14:16:01,110 INFO L290 TraceCheckUtils]: 23: Hoare triple {6212#(<= ~counter~0 2)} assume !!(#t~post6 < 10);havoc #t~post6; {6212#(<= ~counter~0 2)} is VALID [2022-04-28 14:16:01,110 INFO L272 TraceCheckUtils]: 24: Hoare triple {6212#(<= ~counter~0 2)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6212#(<= ~counter~0 2)} is VALID [2022-04-28 14:16:01,111 INFO L290 TraceCheckUtils]: 25: Hoare triple {6212#(<= ~counter~0 2)} ~cond := #in~cond; {6212#(<= ~counter~0 2)} is VALID [2022-04-28 14:16:01,111 INFO L290 TraceCheckUtils]: 26: Hoare triple {6212#(<= ~counter~0 2)} assume !(0 == ~cond); {6212#(<= ~counter~0 2)} is VALID [2022-04-28 14:16:01,111 INFO L290 TraceCheckUtils]: 27: Hoare triple {6212#(<= ~counter~0 2)} assume true; {6212#(<= ~counter~0 2)} is VALID [2022-04-28 14:16:01,112 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6212#(<= ~counter~0 2)} {6212#(<= ~counter~0 2)} #61#return; {6212#(<= ~counter~0 2)} is VALID [2022-04-28 14:16:01,112 INFO L290 TraceCheckUtils]: 29: Hoare triple {6212#(<= ~counter~0 2)} assume !!(0 != ~y~0); {6212#(<= ~counter~0 2)} is VALID [2022-04-28 14:16:01,112 INFO L290 TraceCheckUtils]: 30: Hoare triple {6212#(<= ~counter~0 2)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6212#(<= ~counter~0 2)} is VALID [2022-04-28 14:16:01,112 INFO L290 TraceCheckUtils]: 31: Hoare triple {6212#(<= ~counter~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); {6212#(<= ~counter~0 2)} is VALID [2022-04-28 14:16:01,113 INFO L290 TraceCheckUtils]: 32: Hoare triple {6212#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6243#(<= ~counter~0 3)} is VALID [2022-04-28 14:16:01,113 INFO L290 TraceCheckUtils]: 33: Hoare triple {6243#(<= ~counter~0 3)} assume !!(#t~post6 < 10);havoc #t~post6; {6243#(<= ~counter~0 3)} is VALID [2022-04-28 14:16:01,113 INFO L272 TraceCheckUtils]: 34: Hoare triple {6243#(<= ~counter~0 3)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6243#(<= ~counter~0 3)} is VALID [2022-04-28 14:16:01,114 INFO L290 TraceCheckUtils]: 35: Hoare triple {6243#(<= ~counter~0 3)} ~cond := #in~cond; {6243#(<= ~counter~0 3)} is VALID [2022-04-28 14:16:01,114 INFO L290 TraceCheckUtils]: 36: Hoare triple {6243#(<= ~counter~0 3)} assume !(0 == ~cond); {6243#(<= ~counter~0 3)} is VALID [2022-04-28 14:16:01,114 INFO L290 TraceCheckUtils]: 37: Hoare triple {6243#(<= ~counter~0 3)} assume true; {6243#(<= ~counter~0 3)} is VALID [2022-04-28 14:16:01,114 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6243#(<= ~counter~0 3)} {6243#(<= ~counter~0 3)} #61#return; {6243#(<= ~counter~0 3)} is VALID [2022-04-28 14:16:01,115 INFO L290 TraceCheckUtils]: 39: Hoare triple {6243#(<= ~counter~0 3)} assume !!(0 != ~y~0); {6243#(<= ~counter~0 3)} is VALID [2022-04-28 14:16:01,115 INFO L290 TraceCheckUtils]: 40: Hoare triple {6243#(<= ~counter~0 3)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6243#(<= ~counter~0 3)} is VALID [2022-04-28 14:16:01,115 INFO L290 TraceCheckUtils]: 41: Hoare triple {6243#(<= ~counter~0 3)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {6243#(<= ~counter~0 3)} is VALID [2022-04-28 14:16:01,116 INFO L290 TraceCheckUtils]: 42: Hoare triple {6243#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6274#(<= |main_#t~post6| 3)} is VALID [2022-04-28 14:16:01,116 INFO L290 TraceCheckUtils]: 43: Hoare triple {6274#(<= |main_#t~post6| 3)} assume !(#t~post6 < 10);havoc #t~post6; {6140#false} is VALID [2022-04-28 14:16:01,116 INFO L272 TraceCheckUtils]: 44: Hoare triple {6140#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {6140#false} is VALID [2022-04-28 14:16:01,116 INFO L290 TraceCheckUtils]: 45: Hoare triple {6140#false} ~cond := #in~cond; {6140#false} is VALID [2022-04-28 14:16:01,116 INFO L290 TraceCheckUtils]: 46: Hoare triple {6140#false} assume 0 == ~cond; {6140#false} is VALID [2022-04-28 14:16:01,116 INFO L290 TraceCheckUtils]: 47: Hoare triple {6140#false} assume !false; {6140#false} is VALID [2022-04-28 14:16:01,126 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 36 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 14:16:01,126 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:16:01,337 INFO L290 TraceCheckUtils]: 47: Hoare triple {6140#false} assume !false; {6140#false} is VALID [2022-04-28 14:16:01,337 INFO L290 TraceCheckUtils]: 46: Hoare triple {6140#false} assume 0 == ~cond; {6140#false} is VALID [2022-04-28 14:16:01,337 INFO L290 TraceCheckUtils]: 45: Hoare triple {6140#false} ~cond := #in~cond; {6140#false} is VALID [2022-04-28 14:16:01,337 INFO L272 TraceCheckUtils]: 44: Hoare triple {6140#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {6140#false} is VALID [2022-04-28 14:16:01,338 INFO L290 TraceCheckUtils]: 43: Hoare triple {6302#(< |main_#t~post6| 10)} assume !(#t~post6 < 10);havoc #t~post6; {6140#false} is VALID [2022-04-28 14:16:01,338 INFO L290 TraceCheckUtils]: 42: Hoare triple {6306#(< ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6302#(< |main_#t~post6| 10)} is VALID [2022-04-28 14:16:01,338 INFO L290 TraceCheckUtils]: 41: Hoare triple {6306#(< ~counter~0 10)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {6306#(< ~counter~0 10)} is VALID [2022-04-28 14:16:01,339 INFO L290 TraceCheckUtils]: 40: Hoare triple {6306#(< ~counter~0 10)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6306#(< ~counter~0 10)} is VALID [2022-04-28 14:16:01,339 INFO L290 TraceCheckUtils]: 39: Hoare triple {6306#(< ~counter~0 10)} assume !!(0 != ~y~0); {6306#(< ~counter~0 10)} is VALID [2022-04-28 14:16:01,339 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6139#true} {6306#(< ~counter~0 10)} #61#return; {6306#(< ~counter~0 10)} is VALID [2022-04-28 14:16:01,340 INFO L290 TraceCheckUtils]: 37: Hoare triple {6139#true} assume true; {6139#true} is VALID [2022-04-28 14:16:01,340 INFO L290 TraceCheckUtils]: 36: Hoare triple {6139#true} assume !(0 == ~cond); {6139#true} is VALID [2022-04-28 14:16:01,340 INFO L290 TraceCheckUtils]: 35: Hoare triple {6139#true} ~cond := #in~cond; {6139#true} is VALID [2022-04-28 14:16:01,340 INFO L272 TraceCheckUtils]: 34: Hoare triple {6306#(< ~counter~0 10)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6139#true} is VALID [2022-04-28 14:16:01,340 INFO L290 TraceCheckUtils]: 33: Hoare triple {6306#(< ~counter~0 10)} assume !!(#t~post6 < 10);havoc #t~post6; {6306#(< ~counter~0 10)} is VALID [2022-04-28 14:16:01,340 INFO L290 TraceCheckUtils]: 32: Hoare triple {6337#(< ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6306#(< ~counter~0 10)} is VALID [2022-04-28 14:16:01,341 INFO L290 TraceCheckUtils]: 31: Hoare triple {6337#(< ~counter~0 9)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {6337#(< ~counter~0 9)} is VALID [2022-04-28 14:16:01,341 INFO L290 TraceCheckUtils]: 30: Hoare triple {6337#(< ~counter~0 9)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6337#(< ~counter~0 9)} is VALID [2022-04-28 14:16:01,341 INFO L290 TraceCheckUtils]: 29: Hoare triple {6337#(< ~counter~0 9)} assume !!(0 != ~y~0); {6337#(< ~counter~0 9)} is VALID [2022-04-28 14:16:01,342 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6139#true} {6337#(< ~counter~0 9)} #61#return; {6337#(< ~counter~0 9)} is VALID [2022-04-28 14:16:01,342 INFO L290 TraceCheckUtils]: 27: Hoare triple {6139#true} assume true; {6139#true} is VALID [2022-04-28 14:16:01,342 INFO L290 TraceCheckUtils]: 26: Hoare triple {6139#true} assume !(0 == ~cond); {6139#true} is VALID [2022-04-28 14:16:01,342 INFO L290 TraceCheckUtils]: 25: Hoare triple {6139#true} ~cond := #in~cond; {6139#true} is VALID [2022-04-28 14:16:01,342 INFO L272 TraceCheckUtils]: 24: Hoare triple {6337#(< ~counter~0 9)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6139#true} is VALID [2022-04-28 14:16:01,342 INFO L290 TraceCheckUtils]: 23: Hoare triple {6337#(< ~counter~0 9)} assume !!(#t~post6 < 10);havoc #t~post6; {6337#(< ~counter~0 9)} is VALID [2022-04-28 14:16:01,343 INFO L290 TraceCheckUtils]: 22: Hoare triple {6368#(< ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6337#(< ~counter~0 9)} is VALID [2022-04-28 14:16:01,343 INFO L290 TraceCheckUtils]: 21: Hoare triple {6368#(< ~counter~0 8)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {6368#(< ~counter~0 8)} is VALID [2022-04-28 14:16:01,343 INFO L290 TraceCheckUtils]: 20: Hoare triple {6368#(< ~counter~0 8)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6368#(< ~counter~0 8)} is VALID [2022-04-28 14:16:01,344 INFO L290 TraceCheckUtils]: 19: Hoare triple {6368#(< ~counter~0 8)} assume !!(0 != ~y~0); {6368#(< ~counter~0 8)} is VALID [2022-04-28 14:16:01,344 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6139#true} {6368#(< ~counter~0 8)} #61#return; {6368#(< ~counter~0 8)} is VALID [2022-04-28 14:16:01,344 INFO L290 TraceCheckUtils]: 17: Hoare triple {6139#true} assume true; {6139#true} is VALID [2022-04-28 14:16:01,344 INFO L290 TraceCheckUtils]: 16: Hoare triple {6139#true} assume !(0 == ~cond); {6139#true} is VALID [2022-04-28 14:16:01,344 INFO L290 TraceCheckUtils]: 15: Hoare triple {6139#true} ~cond := #in~cond; {6139#true} is VALID [2022-04-28 14:16:01,344 INFO L272 TraceCheckUtils]: 14: Hoare triple {6368#(< ~counter~0 8)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6139#true} is VALID [2022-04-28 14:16:01,345 INFO L290 TraceCheckUtils]: 13: Hoare triple {6368#(< ~counter~0 8)} assume !!(#t~post6 < 10);havoc #t~post6; {6368#(< ~counter~0 8)} is VALID [2022-04-28 14:16:01,345 INFO L290 TraceCheckUtils]: 12: Hoare triple {6399#(< ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6368#(< ~counter~0 8)} is VALID [2022-04-28 14:16:01,345 INFO L290 TraceCheckUtils]: 11: Hoare triple {6399#(< ~counter~0 7)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {6399#(< ~counter~0 7)} is VALID [2022-04-28 14:16:01,346 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6139#true} {6399#(< ~counter~0 7)} #59#return; {6399#(< ~counter~0 7)} is VALID [2022-04-28 14:16:01,346 INFO L290 TraceCheckUtils]: 9: Hoare triple {6139#true} assume true; {6139#true} is VALID [2022-04-28 14:16:01,346 INFO L290 TraceCheckUtils]: 8: Hoare triple {6139#true} assume !(0 == ~cond); {6139#true} is VALID [2022-04-28 14:16:01,346 INFO L290 TraceCheckUtils]: 7: Hoare triple {6139#true} ~cond := #in~cond; {6139#true} is VALID [2022-04-28 14:16:01,346 INFO L272 TraceCheckUtils]: 6: Hoare triple {6399#(< ~counter~0 7)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {6139#true} is VALID [2022-04-28 14:16:01,346 INFO L290 TraceCheckUtils]: 5: Hoare triple {6399#(< ~counter~0 7)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {6399#(< ~counter~0 7)} is VALID [2022-04-28 14:16:01,346 INFO L272 TraceCheckUtils]: 4: Hoare triple {6399#(< ~counter~0 7)} call #t~ret7 := main(); {6399#(< ~counter~0 7)} is VALID [2022-04-28 14:16:01,347 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6399#(< ~counter~0 7)} {6139#true} #65#return; {6399#(< ~counter~0 7)} is VALID [2022-04-28 14:16:01,347 INFO L290 TraceCheckUtils]: 2: Hoare triple {6399#(< ~counter~0 7)} assume true; {6399#(< ~counter~0 7)} is VALID [2022-04-28 14:16:01,348 INFO L290 TraceCheckUtils]: 1: Hoare triple {6139#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);~counter~0 := 0; {6399#(< ~counter~0 7)} is VALID [2022-04-28 14:16:01,348 INFO L272 TraceCheckUtils]: 0: Hoare triple {6139#true} call ULTIMATE.init(); {6139#true} is VALID [2022-04-28 14:16:01,348 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 24 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 14:16:01,348 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:16:01,348 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1815806281] [2022-04-28 14:16:01,348 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:16:01,348 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1943960994] [2022-04-28 14:16:01,348 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1943960994] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:16:01,348 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:16:01,348 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-28 14:16:01,348 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:16:01,348 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [227524631] [2022-04-28 14:16:01,348 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [227524631] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:16:01,348 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:16:01,349 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 14:16:01,349 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [154076897] [2022-04-28 14:16:01,349 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:16:01,349 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 5.142857142857143) internal successors, (36), 6 states have internal predecessors, (36), 6 states have call successors, (7), 6 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Word has length 48 [2022-04-28 14:16:01,349 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:16:01,349 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 5.142857142857143) internal successors, (36), 6 states have internal predecessors, (36), 6 states have call successors, (7), 6 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 14:16:01,381 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:16:01,381 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 14:16:01,381 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:16:01,381 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 14:16:01,381 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-28 14:16:01,381 INFO L87 Difference]: Start difference. First operand 52 states and 56 transitions. Second operand has 7 states, 7 states have (on average 5.142857142857143) internal successors, (36), 6 states have internal predecessors, (36), 6 states have call successors, (7), 6 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 14:16:01,591 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:16:01,591 INFO L93 Difference]: Finished difference Result 64 states and 69 transitions. [2022-04-28 14:16:01,592 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 14:16:01,592 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 5.142857142857143) internal successors, (36), 6 states have internal predecessors, (36), 6 states have call successors, (7), 6 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Word has length 48 [2022-04-28 14:16:01,592 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:16:01,592 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 5.142857142857143) internal successors, (36), 6 states have internal predecessors, (36), 6 states have call successors, (7), 6 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 14:16:01,593 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 69 transitions. [2022-04-28 14:16:01,593 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 5.142857142857143) internal successors, (36), 6 states have internal predecessors, (36), 6 states have call successors, (7), 6 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 14:16:01,593 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 69 transitions. [2022-04-28 14:16:01,594 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 69 transitions. [2022-04-28 14:16:01,637 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:16:01,637 INFO L225 Difference]: With dead ends: 64 [2022-04-28 14:16:01,637 INFO L226 Difference]: Without dead ends: 57 [2022-04-28 14:16:01,638 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 85 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2022-04-28 14:16:01,638 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 16 mSDsluCounter, 68 mSDsCounter, 0 mSdLazyCounter, 19 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 96 SdHoareTripleChecker+Invalid, 29 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 19 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 14:16:01,638 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [16 Valid, 96 Invalid, 29 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 19 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 14:16:01,638 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2022-04-28 14:16:01,741 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 57. [2022-04-28 14:16:01,741 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:16:01,741 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand has 57 states, 42 states have (on average 1.1428571428571428) internal successors, (48), 43 states have internal predecessors, (48), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:16:01,741 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand has 57 states, 42 states have (on average 1.1428571428571428) internal successors, (48), 43 states have internal predecessors, (48), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:16:01,741 INFO L87 Difference]: Start difference. First operand 57 states. Second operand has 57 states, 42 states have (on average 1.1428571428571428) internal successors, (48), 43 states have internal predecessors, (48), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:16:01,742 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:16:01,742 INFO L93 Difference]: Finished difference Result 57 states and 62 transitions. [2022-04-28 14:16:01,742 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 62 transitions. [2022-04-28 14:16:01,742 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:16:01,742 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:16:01,743 INFO L74 IsIncluded]: Start isIncluded. First operand has 57 states, 42 states have (on average 1.1428571428571428) internal successors, (48), 43 states have internal predecessors, (48), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 57 states. [2022-04-28 14:16:01,743 INFO L87 Difference]: Start difference. First operand has 57 states, 42 states have (on average 1.1428571428571428) internal successors, (48), 43 states have internal predecessors, (48), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 57 states. [2022-04-28 14:16:01,744 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:16:01,744 INFO L93 Difference]: Finished difference Result 57 states and 62 transitions. [2022-04-28 14:16:01,744 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 62 transitions. [2022-04-28 14:16:01,744 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:16:01,744 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:16:01,744 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:16:01,744 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:16:01,744 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 57 states, 42 states have (on average 1.1428571428571428) internal successors, (48), 43 states have internal predecessors, (48), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:16:01,745 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 62 transitions. [2022-04-28 14:16:01,745 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 62 transitions. Word has length 48 [2022-04-28 14:16:01,745 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:16:01,746 INFO L495 AbstractCegarLoop]: Abstraction has 57 states and 62 transitions. [2022-04-28 14:16:01,746 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 5.142857142857143) internal successors, (36), 6 states have internal predecessors, (36), 6 states have call successors, (7), 6 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 14:16:01,746 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 57 states and 62 transitions. [2022-04-28 14:16:11,939 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 57 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-28 14:16:11,940 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 62 transitions. [2022-04-28 14:16:11,940 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-28 14:16:11,940 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:16:11,940 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:16:11,962 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-28 14:16:12,140 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-28 14:16:12,141 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:16:12,141 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:16:12,141 INFO L85 PathProgramCache]: Analyzing trace with hash -1256284433, now seen corresponding path program 5 times [2022-04-28 14:16:12,141 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:16:12,141 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1367286158] [2022-04-28 14:16:16,182 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 14:16:16,182 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 14:16:16,182 INFO L85 PathProgramCache]: Analyzing trace with hash -1256284433, now seen corresponding path program 6 times [2022-04-28 14:16:16,182 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:16:16,182 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1360128347] [2022-04-28 14:16:16,182 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:16:16,182 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:16:16,192 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:16:16,192 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [238907785] [2022-04-28 14:16:16,192 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 14:16:16,192 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:16:16,192 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:16:16,193 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:16:16,194 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-28 14:16:16,243 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 14:16:16,243 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:16:16,244 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-28 14:16:16,274 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:16:16,275 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:16:28,127 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 14:16:58,696 INFO L272 TraceCheckUtils]: 0: Hoare triple {6800#true} call ULTIMATE.init(); {6800#true} is VALID [2022-04-28 14:16:58,696 INFO L290 TraceCheckUtils]: 1: Hoare triple {6800#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);~counter~0 := 0; {6800#true} is VALID [2022-04-28 14:16:58,696 INFO L290 TraceCheckUtils]: 2: Hoare triple {6800#true} assume true; {6800#true} is VALID [2022-04-28 14:16:58,696 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6800#true} {6800#true} #65#return; {6800#true} is VALID [2022-04-28 14:16:58,696 INFO L272 TraceCheckUtils]: 4: Hoare triple {6800#true} call #t~ret7 := main(); {6800#true} is VALID [2022-04-28 14:16:58,696 INFO L290 TraceCheckUtils]: 5: Hoare triple {6800#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {6800#true} is VALID [2022-04-28 14:16:58,696 INFO L272 TraceCheckUtils]: 6: Hoare triple {6800#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {6800#true} is VALID [2022-04-28 14:16:58,696 INFO L290 TraceCheckUtils]: 7: Hoare triple {6800#true} ~cond := #in~cond; {6826#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:16:58,697 INFO L290 TraceCheckUtils]: 8: Hoare triple {6826#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6830#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:16:58,697 INFO L290 TraceCheckUtils]: 9: Hoare triple {6830#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6830#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:16:58,697 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6830#(not (= |assume_abort_if_not_#in~cond| 0))} {6800#true} #59#return; {6837#(<= 1 main_~b~0)} is VALID [2022-04-28 14:16:58,698 INFO L290 TraceCheckUtils]: 11: Hoare triple {6837#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {6841#(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 14:16:58,698 INFO L290 TraceCheckUtils]: 12: Hoare triple {6841#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6841#(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 14:16:58,698 INFO L290 TraceCheckUtils]: 13: Hoare triple {6841#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 10);havoc #t~post6; {6841#(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 14:16:58,699 INFO L272 TraceCheckUtils]: 14: Hoare triple {6841#(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)); {6800#true} is VALID [2022-04-28 14:16:58,699 INFO L290 TraceCheckUtils]: 15: Hoare triple {6800#true} ~cond := #in~cond; {6800#true} is VALID [2022-04-28 14:16:58,699 INFO L290 TraceCheckUtils]: 16: Hoare triple {6800#true} assume !(0 == ~cond); {6800#true} is VALID [2022-04-28 14:16:58,699 INFO L290 TraceCheckUtils]: 17: Hoare triple {6800#true} assume true; {6800#true} is VALID [2022-04-28 14:16:58,699 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6800#true} {6841#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #61#return; {6841#(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 14:16:58,700 INFO L290 TraceCheckUtils]: 19: Hoare triple {6841#(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); {6841#(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 14:16:58,700 INFO L290 TraceCheckUtils]: 20: Hoare triple {6841#(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)); {6869#(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 14:16:58,701 INFO L290 TraceCheckUtils]: 21: Hoare triple {6869#(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); {6873#(and (= main_~z~0 0) (<= (div main_~b~0 2) main_~y~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 14:16:58,702 INFO L290 TraceCheckUtils]: 22: Hoare triple {6873#(and (= main_~z~0 0) (<= (div main_~b~0 2) main_~y~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6873#(and (= main_~z~0 0) (<= (div main_~b~0 2) main_~y~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 14:16:58,702 INFO L290 TraceCheckUtils]: 23: Hoare triple {6873#(and (= main_~z~0 0) (<= (div main_~b~0 2) main_~y~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(#t~post6 < 10);havoc #t~post6; {6873#(and (= main_~z~0 0) (<= (div main_~b~0 2) main_~y~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 14:16:58,702 INFO L272 TraceCheckUtils]: 24: Hoare triple {6873#(and (= main_~z~0 0) (<= (div main_~b~0 2) main_~y~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)); {6800#true} is VALID [2022-04-28 14:16:58,702 INFO L290 TraceCheckUtils]: 25: Hoare triple {6800#true} ~cond := #in~cond; {6800#true} is VALID [2022-04-28 14:16:58,702 INFO L290 TraceCheckUtils]: 26: Hoare triple {6800#true} assume !(0 == ~cond); {6800#true} is VALID [2022-04-28 14:16:58,702 INFO L290 TraceCheckUtils]: 27: Hoare triple {6800#true} assume true; {6800#true} is VALID [2022-04-28 14:16:58,703 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6800#true} {6873#(and (= main_~z~0 0) (<= (div main_~b~0 2) main_~y~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #61#return; {6873#(and (= main_~z~0 0) (<= (div main_~b~0 2) main_~y~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 14:16:58,703 INFO L290 TraceCheckUtils]: 29: Hoare triple {6873#(and (= main_~z~0 0) (<= (div main_~b~0 2) main_~y~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {6873#(and (= main_~z~0 0) (<= (div main_~b~0 2) main_~y~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 14:16:58,704 INFO L290 TraceCheckUtils]: 30: Hoare triple {6873#(and (= main_~z~0 0) (<= (div main_~b~0 2) main_~y~0) (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)); {6901#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (<= (div main_~b~0 2) main_~y~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 14:16:58,706 INFO L290 TraceCheckUtils]: 31: Hoare triple {6901#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (<= (div main_~b~0 2) main_~y~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); {6905#(and (= main_~z~0 0) (exists ((aux_div_v_main_~y~0_121_23 Int) (aux_mod_v_main_~y~0_121_23 Int)) (and (<= (div main_~b~0 2) (+ (* 2 aux_div_v_main_~y~0_121_23) aux_mod_v_main_~y~0_121_23)) (not (= aux_mod_v_main_~y~0_121_23 1)) (<= (div (+ (* 2 aux_div_v_main_~y~0_121_23) aux_mod_v_main_~y~0_121_23) 2) main_~y~0) (< aux_mod_v_main_~y~0_121_23 2) (<= 0 aux_mod_v_main_~y~0_121_23))) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 14:16:58,707 INFO L290 TraceCheckUtils]: 32: Hoare triple {6905#(and (= main_~z~0 0) (exists ((aux_div_v_main_~y~0_121_23 Int) (aux_mod_v_main_~y~0_121_23 Int)) (and (<= (div main_~b~0 2) (+ (* 2 aux_div_v_main_~y~0_121_23) aux_mod_v_main_~y~0_121_23)) (not (= aux_mod_v_main_~y~0_121_23 1)) (<= (div (+ (* 2 aux_div_v_main_~y~0_121_23) aux_mod_v_main_~y~0_121_23) 2) main_~y~0) (< aux_mod_v_main_~y~0_121_23 2) (<= 0 aux_mod_v_main_~y~0_121_23))) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6909#(and (= main_~z~0 0) (< (div (* (- 1) (div main_~b~0 2)) (- 2)) (+ main_~y~0 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 14:16:58,708 INFO L290 TraceCheckUtils]: 33: Hoare triple {6909#(and (= main_~z~0 0) (< (div (* (- 1) (div main_~b~0 2)) (- 2)) (+ main_~y~0 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(#t~post6 < 10);havoc #t~post6; {6909#(and (= main_~z~0 0) (< (div (* (- 1) (div main_~b~0 2)) (- 2)) (+ main_~y~0 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 14:16:58,708 INFO L272 TraceCheckUtils]: 34: Hoare triple {6909#(and (= main_~z~0 0) (< (div (* (- 1) (div main_~b~0 2)) (- 2)) (+ main_~y~0 1)) (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)); {6800#true} is VALID [2022-04-28 14:16:58,708 INFO L290 TraceCheckUtils]: 35: Hoare triple {6800#true} ~cond := #in~cond; {6919#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:16:58,708 INFO L290 TraceCheckUtils]: 36: Hoare triple {6919#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6923#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:16:58,709 INFO L290 TraceCheckUtils]: 37: Hoare triple {6923#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6923#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:16:58,709 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6923#(not (= |__VERIFIER_assert_#in~cond| 0))} {6909#(and (= main_~z~0 0) (< (div (* (- 1) (div main_~b~0 2)) (- 2)) (+ main_~y~0 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #61#return; {6930#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div main_~b~0 2)) (- 2)) (+ main_~y~0 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 14:16:58,710 INFO L290 TraceCheckUtils]: 39: Hoare triple {6930#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div main_~b~0 2)) (- 2)) (+ main_~y~0 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {6930#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div main_~b~0 2)) (- 2)) (+ main_~y~0 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 14:16:58,711 INFO L290 TraceCheckUtils]: 40: Hoare triple {6930#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div main_~b~0 2)) (- 2)) (+ main_~y~0 1)) (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)); {6937#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div main_~b~0 2)) (- 2)) (+ main_~y~0 1)) (not (= (mod main_~y~0 2) 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 14:16:59,248 INFO L290 TraceCheckUtils]: 41: Hoare triple {6937#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div main_~b~0 2)) (- 2)) (+ main_~y~0 1)) (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); {6941#(and (= main_~z~0 0) (exists ((aux_div_v_main_~y~0_122_23 Int) (aux_mod_v_main_~y~0_122_23 Int)) (and (not (= aux_mod_v_main_~y~0_122_23 1)) (<= 0 aux_mod_v_main_~y~0_122_23) (= (div (+ aux_mod_v_main_~y~0_122_23 (* 2 aux_div_v_main_~y~0_122_23)) 2) main_~y~0) (< (div (* (- 1) (div main_~b~0 2)) (- 2)) (+ aux_mod_v_main_~y~0_122_23 (* 2 aux_div_v_main_~y~0_122_23) 1)) (= (+ (* (div (- main_~x~0) (- 2)) (+ aux_mod_v_main_~y~0_122_23 (* 2 aux_div_v_main_~y~0_122_23))) main_~z~0) (* main_~b~0 main_~a~0)) (< aux_mod_v_main_~y~0_122_23 2))) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 14:16:59,251 INFO L290 TraceCheckUtils]: 42: Hoare triple {6941#(and (= main_~z~0 0) (exists ((aux_div_v_main_~y~0_122_23 Int) (aux_mod_v_main_~y~0_122_23 Int)) (and (not (= aux_mod_v_main_~y~0_122_23 1)) (<= 0 aux_mod_v_main_~y~0_122_23) (= (div (+ aux_mod_v_main_~y~0_122_23 (* 2 aux_div_v_main_~y~0_122_23)) 2) main_~y~0) (< (div (* (- 1) (div main_~b~0 2)) (- 2)) (+ aux_mod_v_main_~y~0_122_23 (* 2 aux_div_v_main_~y~0_122_23) 1)) (= (+ (* (div (- main_~x~0) (- 2)) (+ aux_mod_v_main_~y~0_122_23 (* 2 aux_div_v_main_~y~0_122_23))) main_~z~0) (* main_~b~0 main_~a~0)) (< aux_mod_v_main_~y~0_122_23 2))) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (mod main_~x~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6945#(and (= main_~z~0 0) (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< (div (* (div (* (- 1) (div main_~b~0 2)) (- 2)) (- 1)) (- 2)) (+ main_~y~0 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 14:16:59,252 INFO L290 TraceCheckUtils]: 43: Hoare triple {6945#(and (= main_~z~0 0) (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< (div (* (div (* (- 1) (div main_~b~0 2)) (- 2)) (- 1)) (- 2)) (+ main_~y~0 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (mod main_~x~0 2) 0))} assume !!(#t~post6 < 10);havoc #t~post6; {6945#(and (= main_~z~0 0) (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< (div (* (div (* (- 1) (div main_~b~0 2)) (- 2)) (- 1)) (- 2)) (+ main_~y~0 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 14:16:59,620 INFO L272 TraceCheckUtils]: 44: Hoare triple {6945#(and (= main_~z~0 0) (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< (div (* (div (* (- 1) (div main_~b~0 2)) (- 2)) (- 1)) (- 2)) (+ main_~y~0 1)) (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)); {6952#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:16:59,620 INFO L290 TraceCheckUtils]: 45: Hoare triple {6952#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6956#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:16:59,621 INFO L290 TraceCheckUtils]: 46: Hoare triple {6956#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6801#false} is VALID [2022-04-28 14:16:59,621 INFO L290 TraceCheckUtils]: 47: Hoare triple {6801#false} assume !false; {6801#false} is VALID [2022-04-28 14:16:59,621 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 11 proven. 28 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 14:16:59,621 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:17:27,290 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 14:19:37,101 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:19:37,101 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1360128347] [2022-04-28 14:19:37,101 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:19:37,101 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [238907785] [2022-04-28 14:19:37,102 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [238907785] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 14:19:37,102 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 14:19:37,102 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19] total 19 [2022-04-28 14:19:37,102 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:19:37,102 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1367286158] [2022-04-28 14:19:37,102 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1367286158] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:19:37,102 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:19:37,102 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-28 14:19:37,102 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1145204081] [2022-04-28 14:19:37,102 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:19:37,102 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 1.736842105263158) internal successors, (33), 17 states have internal predecessors, (33), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) Word has length 48 [2022-04-28 14:19:37,103 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:19:37,103 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 1.736842105263158) internal successors, (33), 17 states have internal predecessors, (33), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 14:19:42,037 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 43 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 14:19:42,037 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-28 14:19:42,037 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:19:42,037 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-28 14:19:42,038 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=117, Invalid=483, Unknown=0, NotChecked=0, Total=600 [2022-04-28 14:19:42,038 INFO L87 Difference]: Start difference. First operand 57 states and 62 transitions. Second operand has 19 states, 19 states have (on average 1.736842105263158) internal successors, (33), 17 states have internal predecessors, (33), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 14:20:05,394 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 14:20:05,506 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:20:05,506 INFO L93 Difference]: Finished difference Result 87 states and 94 transitions. [2022-04-28 14:20:05,506 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-28 14:20:05,506 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 1.736842105263158) internal successors, (33), 17 states have internal predecessors, (33), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) Word has length 48 [2022-04-28 14:20:05,506 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:20:05,506 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 1.736842105263158) internal successors, (33), 17 states have internal predecessors, (33), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 14:20:05,507 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 60 transitions. [2022-04-28 14:20:05,507 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 1.736842105263158) internal successors, (33), 17 states have internal predecessors, (33), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 14:20:05,508 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 60 transitions. [2022-04-28 14:20:05,508 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 60 transitions. [2022-04-28 14:20:08,516 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:20:08,517 INFO L225 Difference]: With dead ends: 87 [2022-04-28 14:20:08,517 INFO L226 Difference]: Without dead ends: 85 [2022-04-28 14:20:08,518 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 76 GetRequests, 42 SyntacticMatches, 4 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 2 DeprecatedPredicates, 326 ImplicationChecksByTransitivity, 8.9s TimeCoverageRelationStatistics Valid=189, Invalid=803, Unknown=0, NotChecked=0, Total=992 [2022-04-28 14:20:08,518 INFO L413 NwaCegarLoop]: 19 mSDtfsCounter, 33 mSDsluCounter, 158 mSDsCounter, 0 mSdLazyCounter, 208 mSolverCounterSat, 14 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 177 SdHoareTripleChecker+Invalid, 254 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 208 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 31 IncrementalHoareTripleChecker+Unchecked, 5.4s IncrementalHoareTripleChecker+Time [2022-04-28 14:20:08,518 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [33 Valid, 177 Invalid, 254 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 208 Invalid, 1 Unknown, 31 Unchecked, 5.4s Time] [2022-04-28 14:20:08,518 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2022-04-28 14:20:08,750 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 85. [2022-04-28 14:20:08,750 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:20:08,750 INFO L82 GeneralOperation]: Start isEquivalent. First operand 85 states. Second operand has 85 states, 64 states have (on average 1.125) internal successors, (72), 66 states have internal predecessors, (72), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:20:08,751 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand has 85 states, 64 states have (on average 1.125) internal successors, (72), 66 states have internal predecessors, (72), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:20:08,751 INFO L87 Difference]: Start difference. First operand 85 states. Second operand has 85 states, 64 states have (on average 1.125) internal successors, (72), 66 states have internal predecessors, (72), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:20:08,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:20:08,768 INFO L93 Difference]: Finished difference Result 85 states and 92 transitions. [2022-04-28 14:20:08,768 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 92 transitions. [2022-04-28 14:20:08,769 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:20:08,770 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:20:08,770 INFO L74 IsIncluded]: Start isIncluded. First operand has 85 states, 64 states have (on average 1.125) internal successors, (72), 66 states have internal predecessors, (72), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 85 states. [2022-04-28 14:20:08,770 INFO L87 Difference]: Start difference. First operand has 85 states, 64 states have (on average 1.125) internal successors, (72), 66 states have internal predecessors, (72), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 85 states. [2022-04-28 14:20:08,775 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:20:08,775 INFO L93 Difference]: Finished difference Result 85 states and 92 transitions. [2022-04-28 14:20:08,775 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 92 transitions. [2022-04-28 14:20:08,776 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:20:08,776 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:20:08,776 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:20:08,776 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:20:08,776 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 85 states, 64 states have (on average 1.125) internal successors, (72), 66 states have internal predecessors, (72), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:20:08,777 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 92 transitions. [2022-04-28 14:20:08,778 INFO L78 Accepts]: Start accepts. Automaton has 85 states and 92 transitions. Word has length 48 [2022-04-28 14:20:08,778 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:20:08,778 INFO L495 AbstractCegarLoop]: Abstraction has 85 states and 92 transitions. [2022-04-28 14:20:08,778 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 1.736842105263158) internal successors, (33), 17 states have internal predecessors, (33), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 14:20:08,778 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 85 states and 92 transitions. [2022-04-28 14:20:28,129 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 84 inductive. 0 not inductive. 8 times theorem prover too weak to decide inductivity. [2022-04-28 14:20:28,130 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 92 transitions. [2022-04-28 14:20:28,130 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-28 14:20:28,130 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:20:28,130 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:20:28,147 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-28 14:20:28,330 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:20:28,331 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:20:28,331 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:20:28,331 INFO L85 PathProgramCache]: Analyzing trace with hash -446937807, now seen corresponding path program 5 times [2022-04-28 14:20:28,331 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:20:28,331 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1552635246] [2022-04-28 14:20:33,214 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 14:20:33,214 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 14:20:33,214 INFO L85 PathProgramCache]: Analyzing trace with hash -446937807, now seen corresponding path program 6 times [2022-04-28 14:20:33,214 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:20:33,214 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [905936172] [2022-04-28 14:20:33,215 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:20:33,215 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:20:33,226 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:20:33,226 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [816135956] [2022-04-28 14:20:33,226 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 14:20:33,227 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:20:33,227 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:20:33,231 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:20:33,234 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-28 14:20:33,297 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 14:20:33,297 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:20:33,298 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-28 14:20:33,313 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:20:33,314 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:20:56,140 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful