/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_valuebound2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 14:12:25,019 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 14:12:25,029 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 14:12:25,077 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 14:12:25,077 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 14:12:25,078 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 14:12:25,081 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 14:12:25,083 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 14:12:25,085 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 14:12:25,089 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 14:12:25,089 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 14:12:25,091 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 14:12:25,091 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 14:12:25,093 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 14:12:25,094 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 14:12:25,096 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 14:12:25,097 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 14:12:25,097 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 14:12:25,099 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 14:12:25,101 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 14:12:25,102 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 14:12:25,103 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 14:12:25,104 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 14:12:25,104 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 14:12:25,106 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 14:12:25,113 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 14:12:25,113 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 14:12:25,113 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 14:12:25,114 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 14:12:25,114 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 14:12:25,115 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 14:12:25,115 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 14:12:25,117 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 14:12:25,117 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 14:12:25,118 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 14:12:25,118 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 14:12:25,118 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 14:12:25,119 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 14:12:25,119 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 14:12:25,119 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 14:12:25,120 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 14:12:25,121 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 14:12:25,122 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:12:25,131 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 14:12:25,132 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 14:12:25,133 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 14:12:25,133 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 14:12:25,133 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 14:12:25,133 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 14:12:25,133 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 14:12:25,133 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 14:12:25,133 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 14:12:25,134 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 14:12:25,134 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 14:12:25,134 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 14:12:25,134 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 14:12:25,134 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 14:12:25,135 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 14:12:25,135 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 14:12:25,135 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 14:12:25,135 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 14:12:25,135 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 14:12:25,135 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 14:12:25,135 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 14:12:25,135 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 14:12:25,136 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:12:25,346 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 14:12:25,376 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 14:12:25,378 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 14:12:25,379 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 14:12:25,380 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 14:12:25,381 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound2.c [2022-04-28 14:12:25,434 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/04907fd19/4d0b2d1550c046e5ac515699df40292b/FLAG70dc910a3 [2022-04-28 14:12:25,722 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 14:12:25,722 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound2.c [2022-04-28 14:12:25,727 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/04907fd19/4d0b2d1550c046e5ac515699df40292b/FLAG70dc910a3 [2022-04-28 14:12:26,159 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/04907fd19/4d0b2d1550c046e5ac515699df40292b [2022-04-28 14:12:26,161 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 14:12:26,162 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 14:12:26,163 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 14:12:26,163 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 14:12:26,167 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 14:12:26,168 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 02:12:26" (1/1) ... [2022-04-28 14:12:26,169 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@625363e3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:12:26, skipping insertion in model container [2022-04-28 14:12:26,169 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 02:12:26" (1/1) ... [2022-04-28 14:12:26,175 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 14:12:26,188 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 14:12:26,316 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_valuebound2.c[537,550] [2022-04-28 14:12:26,330 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 14:12:26,347 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 14:12:26,361 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_valuebound2.c[537,550] [2022-04-28 14:12:26,376 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 14:12:26,388 INFO L208 MainTranslator]: Completed translation [2022-04-28 14:12:26,389 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:12:26 WrapperNode [2022-04-28 14:12:26,389 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 14:12:26,390 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 14:12:26,390 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 14:12:26,391 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 14:12:26,400 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:12:26" (1/1) ... [2022-04-28 14:12:26,400 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:12:26" (1/1) ... [2022-04-28 14:12:26,407 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:12:26" (1/1) ... [2022-04-28 14:12:26,407 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:12:26" (1/1) ... [2022-04-28 14:12:26,420 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:12:26" (1/1) ... [2022-04-28 14:12:26,423 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:12:26" (1/1) ... [2022-04-28 14:12:26,424 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:12:26" (1/1) ... [2022-04-28 14:12:26,425 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 14:12:26,425 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 14:12:26,425 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 14:12:26,425 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 14:12:26,426 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:12:26" (1/1) ... [2022-04-28 14:12:26,435 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 14:12:26,448 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:12:26,457 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:12:26,463 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:12:26,488 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 14:12:26,488 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 14:12:26,489 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 14:12:26,489 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 14:12:26,489 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 14:12:26,489 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 14:12:26,489 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 14:12:26,489 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 14:12:26,489 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 14:12:26,489 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 14:12:26,489 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 14:12:26,490 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 14:12:26,490 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 14:12:26,490 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 14:12:26,490 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 14:12:26,490 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 14:12:26,490 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 14:12:26,490 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 14:12:26,490 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 14:12:26,491 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 14:12:26,537 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 14:12:26,538 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 14:12:26,670 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 14:12:26,675 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 14:12:26,676 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 14:12:26,677 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 02:12:26 BoogieIcfgContainer [2022-04-28 14:12:26,677 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 14:12:26,679 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 14:12:26,679 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 14:12:26,682 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 14:12:26,682 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 02:12:26" (1/3) ... [2022-04-28 14:12:26,683 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6d5052b1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 02:12:26, skipping insertion in model container [2022-04-28 14:12:26,683 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:12:26" (2/3) ... [2022-04-28 14:12:26,683 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6d5052b1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 02:12:26, skipping insertion in model container [2022-04-28 14:12:26,683 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 02:12:26" (3/3) ... [2022-04-28 14:12:26,684 INFO L111 eAbstractionObserver]: Analyzing ICFG prodbin-ll_valuebound2.c [2022-04-28 14:12:26,695 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 14:12:26,696 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 14:12:26,739 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 14:12:26,751 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@466e71c5, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@25bf1807 [2022-04-28 14:12:26,751 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 14:12:26,761 INFO L276 IsEmpty]: Start isEmpty. Operand has 32 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:12:26,767 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 14:12:26,767 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:12:26,768 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:12:26,768 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:12:26,772 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:12:26,772 INFO L85 PathProgramCache]: Analyzing trace with hash -589322634, now seen corresponding path program 1 times [2022-04-28 14:12:26,779 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:12:26,779 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [903665787] [2022-04-28 14:12:26,788 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:12:26,789 INFO L85 PathProgramCache]: Analyzing trace with hash -589322634, now seen corresponding path program 2 times [2022-04-28 14:12:26,791 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:12:26,792 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [167503998] [2022-04-28 14:12:26,792 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:12:26,793 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:12:26,868 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:12:26,917 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 14:12:26,920 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:12:26,934 INFO L290 TraceCheckUtils]: 0: Hoare triple {52#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {35#true} is VALID [2022-04-28 14:12:26,935 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-28 14:12:26,935 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-28 14:12:26,936 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 14:12:26,938 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:12:26,944 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 14:12:26,944 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 14:12:26,945 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 14:12:26,945 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-28 14:12:26,945 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 14:12:26,947 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:12:26,953 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 14:12:26,954 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 14:12:26,954 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 14:12:26,954 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-28 14:12:26,955 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 14:12:26,957 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:12:26,962 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 14:12:26,963 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 14:12:26,963 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 14:12:26,963 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-28 14:12:26,965 INFO L272 TraceCheckUtils]: 0: Hoare triple {35#true} call ULTIMATE.init(); {52#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 14:12:26,965 INFO L290 TraceCheckUtils]: 1: Hoare triple {52#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {35#true} is VALID [2022-04-28 14:12:26,965 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-28 14:12:26,965 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-28 14:12:26,966 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret6 := main(); {35#true} is VALID [2022-04-28 14:12:26,966 INFO L290 TraceCheckUtils]: 5: Hoare triple {35#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {35#true} is VALID [2022-04-28 14:12:26,966 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {35#true} is VALID [2022-04-28 14:12:26,966 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 14:12:26,967 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 14:12:26,967 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 14:12:26,967 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-28 14:12:26,968 INFO L290 TraceCheckUtils]: 11: Hoare triple {36#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {36#false} is VALID [2022-04-28 14:12:26,968 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {35#true} is VALID [2022-04-28 14:12:26,968 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 14:12:26,969 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 14:12:26,969 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 14:12:26,969 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-28 14:12:26,969 INFO L272 TraceCheckUtils]: 17: Hoare triple {36#false} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {35#true} is VALID [2022-04-28 14:12:26,970 INFO L290 TraceCheckUtils]: 18: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 14:12:26,970 INFO L290 TraceCheckUtils]: 19: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 14:12:26,970 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 14:12:26,971 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-28 14:12:26,971 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {36#false} is VALID [2022-04-28 14:12:26,971 INFO L290 TraceCheckUtils]: 23: Hoare triple {36#false} assume false; {36#false} is VALID [2022-04-28 14:12:26,971 INFO L272 TraceCheckUtils]: 24: Hoare triple {36#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {36#false} is VALID [2022-04-28 14:12:26,971 INFO L290 TraceCheckUtils]: 25: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-28 14:12:26,972 INFO L290 TraceCheckUtils]: 26: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-28 14:12:26,972 INFO L290 TraceCheckUtils]: 27: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-28 14:12:26,972 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 14:12:26,973 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:12:26,973 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [167503998] [2022-04-28 14:12:26,974 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [167503998] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:12:26,974 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:12:26,974 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 14:12:26,976 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:12:26,976 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [903665787] [2022-04-28 14:12:26,976 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [903665787] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:12:26,977 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:12:26,977 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 14:12:26,977 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [455626146] [2022-04-28 14:12:26,977 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:12:26,982 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 14:12:26,983 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:12:26,986 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 14:12:27,023 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:12:27,023 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 14:12:27,024 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:12:27,039 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 14:12:27,040 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 14:12:27,042 INFO L87 Difference]: Start difference. First operand has 32 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 14:12:27,168 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:12:27,168 INFO L93 Difference]: Finished difference Result 57 states and 77 transitions. [2022-04-28 14:12:27,169 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 14:12:27,169 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 14:12:27,169 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:12:27,170 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 14:12:27,188 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-28 14:12:27,189 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 14:12:27,201 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-28 14:12:27,201 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 77 transitions. [2022-04-28 14:12:27,319 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:12:27,327 INFO L225 Difference]: With dead ends: 57 [2022-04-28 14:12:27,327 INFO L226 Difference]: Without dead ends: 27 [2022-04-28 14:12:27,330 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 14:12:27,332 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 19 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 34 SdHoareTripleChecker+Invalid, 13 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 14:12:27,333 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 34 Invalid, 13 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 14:12:27,347 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-28 14:12:27,373 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-28 14:12:27,373 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:12:27,374 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 14:12:27,374 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 14:12:27,375 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 14:12:27,384 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:12:27,384 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-28 14:12:27,385 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 14:12:27,385 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:12:27,386 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:12:27,387 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 27 states. [2022-04-28 14:12:27,388 INFO L87 Difference]: Start difference. First operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 27 states. [2022-04-28 14:12:27,392 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:12:27,392 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-28 14:12:27,392 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 14:12:27,393 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:12:27,393 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:12:27,393 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:12:27,393 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:12:27,394 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 14:12:27,399 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 31 transitions. [2022-04-28 14:12:27,401 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 31 transitions. Word has length 28 [2022-04-28 14:12:27,401 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:12:27,401 INFO L495 AbstractCegarLoop]: Abstraction has 27 states and 31 transitions. [2022-04-28 14:12:27,402 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 14:12:27,402 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 31 transitions. [2022-04-28 14:12:27,446 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:12:27,447 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 14:12:27,448 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 14:12:27,449 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:12:27,449 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:12:27,449 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 14:12:27,450 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:12:27,451 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:12:27,451 INFO L85 PathProgramCache]: Analyzing trace with hash -1736242504, now seen corresponding path program 1 times [2022-04-28 14:12:27,451 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:12:27,452 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [788142194] [2022-04-28 14:12:27,458 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:12:27,458 INFO L85 PathProgramCache]: Analyzing trace with hash -1736242504, now seen corresponding path program 2 times [2022-04-28 14:12:27,458 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:12:27,462 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [46019106] [2022-04-28 14:12:27,462 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:12:27,463 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:12:27,507 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:12:27,508 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1245943699] [2022-04-28 14:12:27,508 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:12:27,508 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:12:27,508 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:12:27,515 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:12:27,525 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:12:27,585 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 14:12:27,585 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:12:27,599 INFO L263 TraceCheckSpWp]: Trace formula consists of 68 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 14:12:27,611 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:12:27,615 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:12:27,823 INFO L272 TraceCheckUtils]: 0: Hoare triple {277#true} call ULTIMATE.init(); {277#true} is VALID [2022-04-28 14:12:27,823 INFO L290 TraceCheckUtils]: 1: Hoare triple {277#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {277#true} is VALID [2022-04-28 14:12:27,824 INFO L290 TraceCheckUtils]: 2: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-28 14:12:27,824 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {277#true} {277#true} #71#return; {277#true} is VALID [2022-04-28 14:12:27,824 INFO L272 TraceCheckUtils]: 4: Hoare triple {277#true} call #t~ret6 := main(); {277#true} is VALID [2022-04-28 14:12:27,824 INFO L290 TraceCheckUtils]: 5: Hoare triple {277#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {277#true} is VALID [2022-04-28 14:12:27,825 INFO L272 TraceCheckUtils]: 6: Hoare triple {277#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {277#true} is VALID [2022-04-28 14:12:27,825 INFO L290 TraceCheckUtils]: 7: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-28 14:12:27,825 INFO L290 TraceCheckUtils]: 8: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-28 14:12:27,825 INFO L290 TraceCheckUtils]: 9: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-28 14:12:27,826 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {277#true} {277#true} #61#return; {277#true} is VALID [2022-04-28 14:12:27,826 INFO L290 TraceCheckUtils]: 11: Hoare triple {277#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {277#true} is VALID [2022-04-28 14:12:27,826 INFO L272 TraceCheckUtils]: 12: Hoare triple {277#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {277#true} is VALID [2022-04-28 14:12:27,826 INFO L290 TraceCheckUtils]: 13: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-28 14:12:27,826 INFO L290 TraceCheckUtils]: 14: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-28 14:12:27,827 INFO L290 TraceCheckUtils]: 15: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-28 14:12:27,827 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {277#true} {277#true} #63#return; {277#true} is VALID [2022-04-28 14:12:27,827 INFO L272 TraceCheckUtils]: 17: Hoare triple {277#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {277#true} is VALID [2022-04-28 14:12:27,827 INFO L290 TraceCheckUtils]: 18: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-28 14:12:27,828 INFO L290 TraceCheckUtils]: 19: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-28 14:12:27,828 INFO L290 TraceCheckUtils]: 20: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-28 14:12:27,828 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {277#true} {277#true} #65#return; {277#true} is VALID [2022-04-28 14:12:27,829 INFO L290 TraceCheckUtils]: 22: Hoare triple {277#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:12:27,829 INFO L290 TraceCheckUtils]: 23: Hoare triple {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:12:27,830 INFO L272 TraceCheckUtils]: 24: Hoare triple {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {355#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:12:27,831 INFO L290 TraceCheckUtils]: 25: Hoare triple {355#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {359#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:12:27,831 INFO L290 TraceCheckUtils]: 26: Hoare triple {359#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {278#false} is VALID [2022-04-28 14:12:27,832 INFO L290 TraceCheckUtils]: 27: Hoare triple {278#false} assume !false; {278#false} is VALID [2022-04-28 14:12:27,832 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 14:12:27,832 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 14:12:27,832 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:12:27,833 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [46019106] [2022-04-28 14:12:27,833 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:12:27,833 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1245943699] [2022-04-28 14:12:27,833 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1245943699] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:12:27,833 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:12:27,833 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 14:12:27,834 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:12:27,835 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [788142194] [2022-04-28 14:12:27,835 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [788142194] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:12:27,835 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:12:27,835 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 14:12:27,835 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [305174723] [2022-04-28 14:12:27,835 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:12:27,836 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-28 14:12:27,836 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:12:27,837 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 14:12:27,855 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:12:27,855 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 14:12:27,856 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:12:27,856 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 14:12:27,856 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 14:12:27,857 INFO L87 Difference]: Start difference. First operand 27 states and 31 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 14:12:28,044 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:12:28,044 INFO L93 Difference]: Finished difference Result 39 states and 45 transitions. [2022-04-28 14:12:28,045 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 14:12:28,045 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-28 14:12:28,046 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:12:28,046 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 14:12:28,049 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-28 14:12:28,050 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 14:12:28,053 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-28 14:12:28,053 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 45 transitions. [2022-04-28 14:12:28,091 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:12:28,095 INFO L225 Difference]: With dead ends: 39 [2022-04-28 14:12:28,095 INFO L226 Difference]: Without dead ends: 37 [2022-04-28 14:12:28,096 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 14:12:28,097 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 8 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 43 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 87 SdHoareTripleChecker+Invalid, 43 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 43 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 14:12:28,097 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 87 Invalid, 43 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 43 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 14:12:28,098 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-04-28 14:12:28,117 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 33. [2022-04-28 14:12:28,117 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:12:28,117 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:12:28,118 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:12:28,118 INFO L87 Difference]: Start difference. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:12:28,121 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:12:28,121 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-28 14:12:28,121 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-28 14:12:28,121 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:12:28,121 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:12:28,122 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 37 states. [2022-04-28 14:12:28,122 INFO L87 Difference]: Start difference. First operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 37 states. [2022-04-28 14:12:28,124 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:12:28,125 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-28 14:12:28,125 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-28 14:12:28,125 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:12:28,125 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:12:28,125 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:12:28,125 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:12:28,126 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:12:28,128 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 37 transitions. [2022-04-28 14:12:28,128 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 37 transitions. Word has length 28 [2022-04-28 14:12:28,128 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:12:28,128 INFO L495 AbstractCegarLoop]: Abstraction has 33 states and 37 transitions. [2022-04-28 14:12:28,128 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 14:12:28,128 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 37 transitions. [2022-04-28 14:12:28,177 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:12:28,177 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2022-04-28 14:12:28,181 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-28 14:12:28,181 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:12:28,181 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:12:28,197 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-28 14:12:28,383 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:12:28,384 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:12:28,384 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:12:28,384 INFO L85 PathProgramCache]: Analyzing trace with hash 1911690432, now seen corresponding path program 1 times [2022-04-28 14:12:28,384 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:12:28,385 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [337068254] [2022-04-28 14:12:28,385 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:12:28,385 INFO L85 PathProgramCache]: Analyzing trace with hash 1911690432, now seen corresponding path program 2 times [2022-04-28 14:12:28,385 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:12:28,386 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [66569845] [2022-04-28 14:12:28,386 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:12:28,386 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:12:28,415 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:12:28,415 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1563587205] [2022-04-28 14:12:28,415 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:12:28,416 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:12:28,416 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:12:28,424 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:12:28,463 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:12:28,475 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:12:28,476 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:12:28,476 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 14:12:28,491 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:12:28,493 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:12:28,628 INFO L272 TraceCheckUtils]: 0: Hoare triple {585#true} call ULTIMATE.init(); {585#true} is VALID [2022-04-28 14:12:28,629 INFO L290 TraceCheckUtils]: 1: Hoare triple {585#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {585#true} is VALID [2022-04-28 14:12:28,632 INFO L290 TraceCheckUtils]: 2: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-28 14:12:28,632 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {585#true} {585#true} #71#return; {585#true} is VALID [2022-04-28 14:12:28,633 INFO L272 TraceCheckUtils]: 4: Hoare triple {585#true} call #t~ret6 := main(); {585#true} is VALID [2022-04-28 14:12:28,633 INFO L290 TraceCheckUtils]: 5: Hoare triple {585#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {585#true} is VALID [2022-04-28 14:12:28,633 INFO L272 TraceCheckUtils]: 6: Hoare triple {585#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {585#true} is VALID [2022-04-28 14:12:28,633 INFO L290 TraceCheckUtils]: 7: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-28 14:12:28,635 INFO L290 TraceCheckUtils]: 8: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-28 14:12:28,635 INFO L290 TraceCheckUtils]: 9: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-28 14:12:28,635 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {585#true} {585#true} #61#return; {585#true} is VALID [2022-04-28 14:12:28,635 INFO L290 TraceCheckUtils]: 11: Hoare triple {585#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {585#true} is VALID [2022-04-28 14:12:28,635 INFO L272 TraceCheckUtils]: 12: Hoare triple {585#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {585#true} is VALID [2022-04-28 14:12:28,636 INFO L290 TraceCheckUtils]: 13: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-28 14:12:28,636 INFO L290 TraceCheckUtils]: 14: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-28 14:12:28,636 INFO L290 TraceCheckUtils]: 15: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-28 14:12:28,636 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {585#true} {585#true} #63#return; {585#true} is VALID [2022-04-28 14:12:28,636 INFO L272 TraceCheckUtils]: 17: Hoare triple {585#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {585#true} is VALID [2022-04-28 14:12:28,637 INFO L290 TraceCheckUtils]: 18: Hoare triple {585#true} ~cond := #in~cond; {644#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:12:28,638 INFO L290 TraceCheckUtils]: 19: Hoare triple {644#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {648#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:12:28,639 INFO L290 TraceCheckUtils]: 20: Hoare triple {648#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {648#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:12:28,639 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {648#(not (= |assume_abort_if_not_#in~cond| 0))} {585#true} #65#return; {655#(<= 1 main_~b~0)} is VALID [2022-04-28 14:12:28,640 INFO L290 TraceCheckUtils]: 22: Hoare triple {655#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {659#(<= 1 main_~y~0)} is VALID [2022-04-28 14:12:28,640 INFO L290 TraceCheckUtils]: 23: Hoare triple {659#(<= 1 main_~y~0)} assume !false; {659#(<= 1 main_~y~0)} is VALID [2022-04-28 14:12:28,640 INFO L272 TraceCheckUtils]: 24: Hoare triple {659#(<= 1 main_~y~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {585#true} is VALID [2022-04-28 14:12:28,640 INFO L290 TraceCheckUtils]: 25: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-28 14:12:28,641 INFO L290 TraceCheckUtils]: 26: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-28 14:12:28,641 INFO L290 TraceCheckUtils]: 27: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-28 14:12:28,641 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {585#true} {659#(<= 1 main_~y~0)} #67#return; {659#(<= 1 main_~y~0)} is VALID [2022-04-28 14:12:28,642 INFO L290 TraceCheckUtils]: 29: Hoare triple {659#(<= 1 main_~y~0)} assume !(0 != ~y~0); {586#false} is VALID [2022-04-28 14:12:28,644 INFO L272 TraceCheckUtils]: 30: Hoare triple {586#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {586#false} is VALID [2022-04-28 14:12:28,644 INFO L290 TraceCheckUtils]: 31: Hoare triple {586#false} ~cond := #in~cond; {586#false} is VALID [2022-04-28 14:12:28,644 INFO L290 TraceCheckUtils]: 32: Hoare triple {586#false} assume 0 == ~cond; {586#false} is VALID [2022-04-28 14:12:28,644 INFO L290 TraceCheckUtils]: 33: Hoare triple {586#false} assume !false; {586#false} is VALID [2022-04-28 14:12:28,645 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 14:12:28,645 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 14:12:28,646 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:12:28,646 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [66569845] [2022-04-28 14:12:28,646 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:12:28,646 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1563587205] [2022-04-28 14:12:28,646 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1563587205] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:12:28,646 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:12:28,646 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 14:12:28,646 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:12:28,647 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [337068254] [2022-04-28 14:12:28,647 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [337068254] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:12:28,647 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:12:28,647 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 14:12:28,647 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [532448906] [2022-04-28 14:12:28,647 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:12:28,648 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-28 14:12:28,648 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:12:28,648 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:12:28,670 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:12:28,670 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 14:12:28,671 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:12:28,671 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 14:12:28,672 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 14:12:28,673 INFO L87 Difference]: Start difference. First operand 33 states and 37 transitions. Second operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:12:28,851 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:12:28,851 INFO L93 Difference]: Finished difference Result 43 states and 48 transitions. [2022-04-28 14:12:28,851 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 14:12:28,851 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-28 14:12:28,853 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:12:28,853 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:12:28,855 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-28 14:12:28,856 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:12:28,862 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-28 14:12:28,862 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 45 transitions. [2022-04-28 14:12:28,902 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:12:28,904 INFO L225 Difference]: With dead ends: 43 [2022-04-28 14:12:28,904 INFO L226 Difference]: Without dead ends: 36 [2022-04-28 14:12:28,904 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 14:12:28,905 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 14 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 58 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 89 SdHoareTripleChecker+Invalid, 60 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 58 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 14:12:28,906 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 89 Invalid, 60 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 58 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 14:12:28,906 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-28 14:12:28,922 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 34. [2022-04-28 14:12:28,924 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:12:28,924 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:12:28,926 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:12:28,927 INFO L87 Difference]: Start difference. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:12:28,932 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:12:28,932 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-28 14:12:28,932 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-28 14:12:28,932 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:12:28,932 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:12:28,934 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 36 states. [2022-04-28 14:12:28,934 INFO L87 Difference]: Start difference. First operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 36 states. [2022-04-28 14:12:28,941 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:12:28,941 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-28 14:12:28,941 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-28 14:12:28,943 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:12:28,943 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:12:28,943 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:12:28,943 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:12:28,943 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:12:28,945 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 38 transitions. [2022-04-28 14:12:28,945 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 38 transitions. Word has length 34 [2022-04-28 14:12:28,945 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:12:28,945 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 38 transitions. [2022-04-28 14:12:28,945 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:12:28,945 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 38 transitions. [2022-04-28 14:12:28,986 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:12:28,986 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2022-04-28 14:12:28,987 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-28 14:12:28,987 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:12:28,987 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:12:29,006 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-28 14:12:29,191 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:12:29,192 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:12:29,192 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:12:29,192 INFO L85 PathProgramCache]: Analyzing trace with hash 2022075506, now seen corresponding path program 1 times [2022-04-28 14:12:29,192 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:12:29,192 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1583503442] [2022-04-28 14:12:29,192 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:12:29,193 INFO L85 PathProgramCache]: Analyzing trace with hash 2022075506, now seen corresponding path program 2 times [2022-04-28 14:12:29,193 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:12:29,193 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1092895713] [2022-04-28 14:12:29,193 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:12:29,193 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:12:29,214 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:12:29,214 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [741796646] [2022-04-28 14:12:29,214 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:12:29,214 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:12:29,214 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:12:29,215 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:12:29,220 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:12:29,261 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:12:29,261 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:12:29,262 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-28 14:12:29,276 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:12:29,277 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:12:30,366 INFO L272 TraceCheckUtils]: 0: Hoare triple {922#true} call ULTIMATE.init(); {922#true} is VALID [2022-04-28 14:12:30,367 INFO L290 TraceCheckUtils]: 1: Hoare triple {922#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {922#true} is VALID [2022-04-28 14:12:30,367 INFO L290 TraceCheckUtils]: 2: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:12:30,367 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {922#true} {922#true} #71#return; {922#true} is VALID [2022-04-28 14:12:30,367 INFO L272 TraceCheckUtils]: 4: Hoare triple {922#true} call #t~ret6 := main(); {922#true} is VALID [2022-04-28 14:12:30,367 INFO L290 TraceCheckUtils]: 5: Hoare triple {922#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {922#true} is VALID [2022-04-28 14:12:30,367 INFO L272 TraceCheckUtils]: 6: Hoare triple {922#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {922#true} is VALID [2022-04-28 14:12:30,368 INFO L290 TraceCheckUtils]: 7: Hoare triple {922#true} ~cond := #in~cond; {948#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:12:30,368 INFO L290 TraceCheckUtils]: 8: Hoare triple {948#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {952#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:12:30,368 INFO L290 TraceCheckUtils]: 9: Hoare triple {952#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {952#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:12:30,369 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {952#(not (= |assume_abort_if_not_#in~cond| 0))} {922#true} #61#return; {959#(and (<= 0 main_~a~0) (<= main_~a~0 2))} is VALID [2022-04-28 14:12:30,370 INFO L290 TraceCheckUtils]: 11: Hoare triple {959#(and (<= 0 main_~a~0) (<= main_~a~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {959#(and (<= 0 main_~a~0) (<= main_~a~0 2))} is VALID [2022-04-28 14:12:30,371 INFO L272 TraceCheckUtils]: 12: Hoare triple {959#(and (<= 0 main_~a~0) (<= main_~a~0 2))} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {922#true} is VALID [2022-04-28 14:12:30,371 INFO L290 TraceCheckUtils]: 13: Hoare triple {922#true} ~cond := #in~cond; {948#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:12:30,372 INFO L290 TraceCheckUtils]: 14: Hoare triple {948#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {952#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:12:30,373 INFO L290 TraceCheckUtils]: 15: Hoare triple {952#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {952#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:12:30,374 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {952#(not (= |assume_abort_if_not_#in~cond| 0))} {959#(and (<= 0 main_~a~0) (<= main_~a~0 2))} #63#return; {978#(and (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0))} is VALID [2022-04-28 14:12:30,382 INFO L272 TraceCheckUtils]: 17: Hoare triple {978#(and (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {922#true} is VALID [2022-04-28 14:12:30,382 INFO L290 TraceCheckUtils]: 18: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 14:12:30,382 INFO L290 TraceCheckUtils]: 19: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 14:12:30,382 INFO L290 TraceCheckUtils]: 20: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:12:30,383 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {922#true} {978#(and (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0))} #65#return; {978#(and (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0))} is VALID [2022-04-28 14:12:30,386 INFO L290 TraceCheckUtils]: 22: Hoare triple {978#(and (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {997#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:12:30,387 INFO L290 TraceCheckUtils]: 23: Hoare triple {997#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {997#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:12:30,387 INFO L272 TraceCheckUtils]: 24: Hoare triple {997#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 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)); {922#true} is VALID [2022-04-28 14:12:30,387 INFO L290 TraceCheckUtils]: 25: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 14:12:30,387 INFO L290 TraceCheckUtils]: 26: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 14:12:30,388 INFO L290 TraceCheckUtils]: 27: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:12:30,388 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {922#true} {997#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {997#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:12:30,389 INFO L290 TraceCheckUtils]: 29: Hoare triple {997#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {1019#(and (= main_~z~0 0) (not (= main_~y~0 0)) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:12:30,390 INFO L290 TraceCheckUtils]: 30: Hoare triple {1019#(and (= main_~z~0 0) (not (= main_~y~0 0)) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 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; {1023#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:12:30,391 INFO L290 TraceCheckUtils]: 31: Hoare triple {1023#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (= 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); {1027#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:12:30,392 INFO L290 TraceCheckUtils]: 32: Hoare triple {1027#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {1027#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:12:30,394 INFO L272 TraceCheckUtils]: 33: Hoare triple {1027#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (<= main_~a~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)); {1034#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:12:30,395 INFO L290 TraceCheckUtils]: 34: Hoare triple {1034#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1038#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:12:30,395 INFO L290 TraceCheckUtils]: 35: Hoare triple {1038#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {923#false} is VALID [2022-04-28 14:12:30,395 INFO L290 TraceCheckUtils]: 36: Hoare triple {923#false} assume !false; {923#false} is VALID [2022-04-28 14:12:30,395 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 2 proven. 8 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 14:12:30,396 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:12:46,491 INFO L290 TraceCheckUtils]: 36: Hoare triple {923#false} assume !false; {923#false} is VALID [2022-04-28 14:12:46,492 INFO L290 TraceCheckUtils]: 35: Hoare triple {1038#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {923#false} is VALID [2022-04-28 14:12:46,492 INFO L290 TraceCheckUtils]: 34: Hoare triple {1034#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1038#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:12:46,493 INFO L272 TraceCheckUtils]: 33: Hoare triple {1054#(= (+ 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)); {1034#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:12:46,494 INFO L290 TraceCheckUtils]: 32: Hoare triple {1054#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {1054#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:12:46,499 INFO L290 TraceCheckUtils]: 31: Hoare triple {1061#(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); {1054#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:12:46,502 INFO L290 TraceCheckUtils]: 30: Hoare triple {1065#(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; {1061#(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:12:46,503 INFO L290 TraceCheckUtils]: 29: Hoare triple {1065#(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); {1065#(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:12:46,503 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {922#true} {1065#(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))} #67#return; {1065#(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:12:46,504 INFO L290 TraceCheckUtils]: 27: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:12:46,504 INFO L290 TraceCheckUtils]: 26: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 14:12:46,504 INFO L290 TraceCheckUtils]: 25: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 14:12:46,504 INFO L272 TraceCheckUtils]: 24: Hoare triple {1065#(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))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {922#true} is VALID [2022-04-28 14:12:46,504 INFO L290 TraceCheckUtils]: 23: Hoare triple {1065#(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 !false; {1065#(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:12:48,506 WARN L290 TraceCheckUtils]: 22: Hoare triple {922#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1065#(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:12:48,506 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {922#true} {922#true} #65#return; {922#true} is VALID [2022-04-28 14:12:48,506 INFO L290 TraceCheckUtils]: 20: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:12:48,506 INFO L290 TraceCheckUtils]: 19: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 14:12:48,506 INFO L290 TraceCheckUtils]: 18: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 14:12:48,506 INFO L272 TraceCheckUtils]: 17: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {922#true} is VALID [2022-04-28 14:12:48,507 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {922#true} {922#true} #63#return; {922#true} is VALID [2022-04-28 14:12:48,507 INFO L290 TraceCheckUtils]: 15: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:12:48,507 INFO L290 TraceCheckUtils]: 14: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 14:12:48,507 INFO L290 TraceCheckUtils]: 13: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 14:12:48,507 INFO L272 TraceCheckUtils]: 12: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {922#true} is VALID [2022-04-28 14:12:48,507 INFO L290 TraceCheckUtils]: 11: Hoare triple {922#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {922#true} is VALID [2022-04-28 14:12:48,507 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {922#true} {922#true} #61#return; {922#true} is VALID [2022-04-28 14:12:48,507 INFO L290 TraceCheckUtils]: 9: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:12:48,507 INFO L290 TraceCheckUtils]: 8: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 14:12:48,508 INFO L290 TraceCheckUtils]: 7: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 14:12:48,508 INFO L272 TraceCheckUtils]: 6: Hoare triple {922#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {922#true} is VALID [2022-04-28 14:12:48,508 INFO L290 TraceCheckUtils]: 5: Hoare triple {922#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {922#true} is VALID [2022-04-28 14:12:48,508 INFO L272 TraceCheckUtils]: 4: Hoare triple {922#true} call #t~ret6 := main(); {922#true} is VALID [2022-04-28 14:12:48,508 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {922#true} {922#true} #71#return; {922#true} is VALID [2022-04-28 14:12:48,508 INFO L290 TraceCheckUtils]: 2: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:12:48,508 INFO L290 TraceCheckUtils]: 1: Hoare triple {922#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {922#true} is VALID [2022-04-28 14:12:48,508 INFO L272 TraceCheckUtils]: 0: Hoare triple {922#true} call ULTIMATE.init(); {922#true} is VALID [2022-04-28 14:12:48,509 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 14:12:48,509 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:12:48,509 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1092895713] [2022-04-28 14:12:48,509 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:12:48,509 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [741796646] [2022-04-28 14:12:48,509 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [741796646] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 14:12:48,510 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 14:12:48,510 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [12] total 15 [2022-04-28 14:12:48,510 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:12:48,510 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1583503442] [2022-04-28 14:12:48,510 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1583503442] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:12:48,510 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:12:48,510 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 14:12:48,510 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [92631121] [2022-04-28 14:12:48,511 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:12:48,511 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-28 14:12:48,511 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:12:48,512 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:12:50,554 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:12:50,554 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 14:12:50,554 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:12:50,555 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 14:12:50,555 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=162, Unknown=0, NotChecked=0, Total=210 [2022-04-28 14:12:50,555 INFO L87 Difference]: Start difference. First operand 34 states and 38 transitions. Second operand has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:12:51,844 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:12:51,844 INFO L93 Difference]: Finished difference Result 47 states and 53 transitions. [2022-04-28 14:12:51,844 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 14:12:51,844 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-28 14:12:51,844 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:12:51,845 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:12:51,846 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 46 transitions. [2022-04-28 14:12:51,846 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:12:51,847 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 46 transitions. [2022-04-28 14:12:51,848 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 46 transitions. [2022-04-28 14:12:51,892 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:12:51,894 INFO L225 Difference]: With dead ends: 47 [2022-04-28 14:12:51,894 INFO L226 Difference]: Without dead ends: 45 [2022-04-28 14:12:51,894 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 58 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 52 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=59, Invalid=213, Unknown=0, NotChecked=0, Total=272 [2022-04-28 14:12:51,895 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 8 mSDsluCounter, 92 mSDsCounter, 0 mSdLazyCounter, 69 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 76 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 69 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 14:12:51,895 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 116 Invalid, 76 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 69 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 14:12:51,896 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-28 14:12:51,924 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 43. [2022-04-28 14:12:51,924 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:12:51,925 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 43 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 29 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:12:51,925 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 43 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 29 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:12:51,925 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 43 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 29 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:12:51,927 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:12:51,927 INFO L93 Difference]: Finished difference Result 45 states and 51 transitions. [2022-04-28 14:12:51,927 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 51 transitions. [2022-04-28 14:12:51,928 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:12:51,928 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:12:51,928 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 29 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 45 states. [2022-04-28 14:12:51,928 INFO L87 Difference]: Start difference. First operand has 43 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 29 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 45 states. [2022-04-28 14:12:51,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:12:51,930 INFO L93 Difference]: Finished difference Result 45 states and 51 transitions. [2022-04-28 14:12:51,930 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 51 transitions. [2022-04-28 14:12:51,931 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:12:51,931 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:12:51,931 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:12:51,931 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:12:51,931 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 29 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:12:51,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 49 transitions. [2022-04-28 14:12:51,933 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 49 transitions. Word has length 37 [2022-04-28 14:12:51,933 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:12:51,933 INFO L495 AbstractCegarLoop]: Abstraction has 43 states and 49 transitions. [2022-04-28 14:12:51,933 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:12:51,934 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 49 transitions. [2022-04-28 14:12:51,998 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:12:51,999 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 49 transitions. [2022-04-28 14:12:51,999 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-28 14:12:51,999 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:12:51,999 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:12:52,027 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-28 14:12:52,200 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:12:52,200 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:12:52,201 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:12:52,201 INFO L85 PathProgramCache]: Analyzing trace with hash -497884428, now seen corresponding path program 1 times [2022-04-28 14:12:52,201 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:12:52,201 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [347345949] [2022-04-28 14:12:52,201 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:12:52,201 INFO L85 PathProgramCache]: Analyzing trace with hash -497884428, now seen corresponding path program 2 times [2022-04-28 14:12:52,201 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:12:52,202 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1133419599] [2022-04-28 14:12:52,202 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:12:52,202 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:12:52,221 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:12:52,221 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1164734084] [2022-04-28 14:12:52,222 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:12:52,222 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:12:52,222 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:12:52,231 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:12:52,243 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:12:52,294 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:12:52,294 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:12:52,295 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-28 14:12:52,307 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:12:52,309 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:12:53,013 INFO L272 TraceCheckUtils]: 0: Hoare triple {1432#true} call ULTIMATE.init(); {1432#true} is VALID [2022-04-28 14:12:53,013 INFO L290 TraceCheckUtils]: 1: Hoare triple {1432#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); {1432#true} is VALID [2022-04-28 14:12:53,013 INFO L290 TraceCheckUtils]: 2: Hoare triple {1432#true} assume true; {1432#true} is VALID [2022-04-28 14:12:53,013 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1432#true} {1432#true} #71#return; {1432#true} is VALID [2022-04-28 14:12:53,014 INFO L272 TraceCheckUtils]: 4: Hoare triple {1432#true} call #t~ret6 := main(); {1432#true} is VALID [2022-04-28 14:12:53,014 INFO L290 TraceCheckUtils]: 5: Hoare triple {1432#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; {1432#true} is VALID [2022-04-28 14:12:53,014 INFO L272 TraceCheckUtils]: 6: Hoare triple {1432#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {1432#true} is VALID [2022-04-28 14:12:53,014 INFO L290 TraceCheckUtils]: 7: Hoare triple {1432#true} ~cond := #in~cond; {1432#true} is VALID [2022-04-28 14:12:53,014 INFO L290 TraceCheckUtils]: 8: Hoare triple {1432#true} assume !(0 == ~cond); {1432#true} is VALID [2022-04-28 14:12:53,014 INFO L290 TraceCheckUtils]: 9: Hoare triple {1432#true} assume true; {1432#true} is VALID [2022-04-28 14:12:53,014 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1432#true} {1432#true} #61#return; {1432#true} is VALID [2022-04-28 14:12:53,014 INFO L290 TraceCheckUtils]: 11: Hoare triple {1432#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1432#true} is VALID [2022-04-28 14:12:53,014 INFO L272 TraceCheckUtils]: 12: Hoare triple {1432#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {1432#true} is VALID [2022-04-28 14:12:53,018 INFO L290 TraceCheckUtils]: 13: Hoare triple {1432#true} ~cond := #in~cond; {1476#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:12:53,018 INFO L290 TraceCheckUtils]: 14: Hoare triple {1476#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1480#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:12:53,018 INFO L290 TraceCheckUtils]: 15: Hoare triple {1480#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1480#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:12:53,019 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1480#(not (= |assume_abort_if_not_#in~cond| 0))} {1432#true} #63#return; {1487#(and (<= main_~b~0 2) (<= 0 main_~b~0))} is VALID [2022-04-28 14:12:53,019 INFO L272 TraceCheckUtils]: 17: Hoare triple {1487#(and (<= main_~b~0 2) (<= 0 main_~b~0))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1432#true} is VALID [2022-04-28 14:12:53,020 INFO L290 TraceCheckUtils]: 18: Hoare triple {1432#true} ~cond := #in~cond; {1476#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:12:53,020 INFO L290 TraceCheckUtils]: 19: Hoare triple {1476#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1480#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:12:53,020 INFO L290 TraceCheckUtils]: 20: Hoare triple {1480#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1480#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:12:53,021 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1480#(not (= |assume_abort_if_not_#in~cond| 0))} {1487#(and (<= main_~b~0 2) (<= 0 main_~b~0))} #65#return; {1503#(and (<= main_~b~0 2) (<= 1 main_~b~0))} is VALID [2022-04-28 14:12:53,022 INFO L290 TraceCheckUtils]: 22: Hoare triple {1503#(and (<= main_~b~0 2) (<= 1 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1507#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:12:53,022 INFO L290 TraceCheckUtils]: 23: Hoare triple {1507#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {1507#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:12:53,022 INFO L272 TraceCheckUtils]: 24: Hoare triple {1507#(and (= main_~z~0 0) (<= main_~b~0 2) (= 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)); {1432#true} is VALID [2022-04-28 14:12:53,022 INFO L290 TraceCheckUtils]: 25: Hoare triple {1432#true} ~cond := #in~cond; {1432#true} is VALID [2022-04-28 14:12:53,023 INFO L290 TraceCheckUtils]: 26: Hoare triple {1432#true} assume !(0 == ~cond); {1432#true} is VALID [2022-04-28 14:12:53,023 INFO L290 TraceCheckUtils]: 27: Hoare triple {1432#true} assume true; {1432#true} is VALID [2022-04-28 14:12:53,023 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1432#true} {1507#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {1507#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:12:53,024 INFO L290 TraceCheckUtils]: 29: Hoare triple {1507#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {1507#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:12:53,025 INFO L290 TraceCheckUtils]: 30: Hoare triple {1507#(and (= main_~z~0 0) (<= main_~b~0 2) (= 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)); {1532#(and (= main_~z~0 0) (<= main_~b~0 2) (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:12:53,026 INFO L290 TraceCheckUtils]: 31: Hoare triple {1532#(and (= main_~z~0 0) (<= main_~b~0 2) (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); {1536#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= 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:12:53,026 INFO L290 TraceCheckUtils]: 32: Hoare triple {1536#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !false; {1536#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= 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:12:53,029 INFO L272 TraceCheckUtils]: 33: Hoare triple {1536#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= 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)); {1543#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:12:53,029 INFO L290 TraceCheckUtils]: 34: Hoare triple {1543#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1547#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:12:53,029 INFO L290 TraceCheckUtils]: 35: Hoare triple {1547#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1433#false} is VALID [2022-04-28 14:12:53,030 INFO L290 TraceCheckUtils]: 36: Hoare triple {1433#false} assume !false; {1433#false} is VALID [2022-04-28 14:12:53,030 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 14:12:53,030 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:13:15,350 INFO L290 TraceCheckUtils]: 36: Hoare triple {1433#false} assume !false; {1433#false} is VALID [2022-04-28 14:13:15,350 INFO L290 TraceCheckUtils]: 35: Hoare triple {1547#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1433#false} is VALID [2022-04-28 14:13:15,351 INFO L290 TraceCheckUtils]: 34: Hoare triple {1543#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1547#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:13:15,351 INFO L272 TraceCheckUtils]: 33: Hoare triple {1563#(= (+ 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)); {1543#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:13:15,352 INFO L290 TraceCheckUtils]: 32: Hoare triple {1563#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {1563#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:13:15,356 INFO L290 TraceCheckUtils]: 31: Hoare triple {1570#(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); {1563#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:13:15,357 INFO L290 TraceCheckUtils]: 30: Hoare triple {1574#(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)); {1570#(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:13:15,357 INFO L290 TraceCheckUtils]: 29: Hoare triple {1574#(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); {1574#(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:13:15,358 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1432#true} {1574#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} #67#return; {1574#(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:13:15,358 INFO L290 TraceCheckUtils]: 27: Hoare triple {1432#true} assume true; {1432#true} is VALID [2022-04-28 14:13:15,358 INFO L290 TraceCheckUtils]: 26: Hoare triple {1432#true} assume !(0 == ~cond); {1432#true} is VALID [2022-04-28 14:13:15,358 INFO L290 TraceCheckUtils]: 25: Hoare triple {1432#true} ~cond := #in~cond; {1432#true} is VALID [2022-04-28 14:13:15,358 INFO L272 TraceCheckUtils]: 24: Hoare triple {1574#(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)); {1432#true} is VALID [2022-04-28 14:13:15,358 INFO L290 TraceCheckUtils]: 23: Hoare triple {1574#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !false; {1574#(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:13:15,360 INFO L290 TraceCheckUtils]: 22: Hoare triple {1599#(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; {1574#(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:13:15,361 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1480#(not (= |assume_abort_if_not_#in~cond| 0))} {1432#true} #65#return; {1599#(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:13:15,361 INFO L290 TraceCheckUtils]: 20: Hoare triple {1480#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1480#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:13:15,362 INFO L290 TraceCheckUtils]: 19: Hoare triple {1612#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1480#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:13:15,362 INFO L290 TraceCheckUtils]: 18: Hoare triple {1432#true} ~cond := #in~cond; {1612#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 14:13:15,362 INFO L272 TraceCheckUtils]: 17: Hoare triple {1432#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1432#true} is VALID [2022-04-28 14:13:15,362 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1432#true} {1432#true} #63#return; {1432#true} is VALID [2022-04-28 14:13:15,362 INFO L290 TraceCheckUtils]: 15: Hoare triple {1432#true} assume true; {1432#true} is VALID [2022-04-28 14:13:15,362 INFO L290 TraceCheckUtils]: 14: Hoare triple {1432#true} assume !(0 == ~cond); {1432#true} is VALID [2022-04-28 14:13:15,363 INFO L290 TraceCheckUtils]: 13: Hoare triple {1432#true} ~cond := #in~cond; {1432#true} is VALID [2022-04-28 14:13:15,363 INFO L272 TraceCheckUtils]: 12: Hoare triple {1432#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {1432#true} is VALID [2022-04-28 14:13:15,363 INFO L290 TraceCheckUtils]: 11: Hoare triple {1432#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1432#true} is VALID [2022-04-28 14:13:15,363 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1432#true} {1432#true} #61#return; {1432#true} is VALID [2022-04-28 14:13:15,363 INFO L290 TraceCheckUtils]: 9: Hoare triple {1432#true} assume true; {1432#true} is VALID [2022-04-28 14:13:15,363 INFO L290 TraceCheckUtils]: 8: Hoare triple {1432#true} assume !(0 == ~cond); {1432#true} is VALID [2022-04-28 14:13:15,363 INFO L290 TraceCheckUtils]: 7: Hoare triple {1432#true} ~cond := #in~cond; {1432#true} is VALID [2022-04-28 14:13:15,363 INFO L272 TraceCheckUtils]: 6: Hoare triple {1432#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {1432#true} is VALID [2022-04-28 14:13:15,363 INFO L290 TraceCheckUtils]: 5: Hoare triple {1432#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; {1432#true} is VALID [2022-04-28 14:13:15,363 INFO L272 TraceCheckUtils]: 4: Hoare triple {1432#true} call #t~ret6 := main(); {1432#true} is VALID [2022-04-28 14:13:15,364 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1432#true} {1432#true} #71#return; {1432#true} is VALID [2022-04-28 14:13:15,364 INFO L290 TraceCheckUtils]: 2: Hoare triple {1432#true} assume true; {1432#true} is VALID [2022-04-28 14:13:15,364 INFO L290 TraceCheckUtils]: 1: Hoare triple {1432#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); {1432#true} is VALID [2022-04-28 14:13:15,364 INFO L272 TraceCheckUtils]: 0: Hoare triple {1432#true} call ULTIMATE.init(); {1432#true} is VALID [2022-04-28 14:13:15,364 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 14:13:15,364 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:13:15,364 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1133419599] [2022-04-28 14:13:15,365 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:13:15,365 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1164734084] [2022-04-28 14:13:15,365 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1164734084] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:13:15,365 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:13:15,365 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 16 [2022-04-28 14:13:15,365 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:13:15,365 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [347345949] [2022-04-28 14:13:15,365 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [347345949] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:13:15,365 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:13:15,366 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 14:13:15,366 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [14579339] [2022-04-28 14:13:15,366 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:13:15,366 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 37 [2022-04-28 14:13:15,366 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:13:15,367 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:13:15,393 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:13:15,393 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 14:13:15,393 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:13:15,393 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 14:13:15,393 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=188, Unknown=0, NotChecked=0, Total=240 [2022-04-28 14:13:15,394 INFO L87 Difference]: Start difference. First operand 43 states and 49 transitions. Second operand has 11 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:13:15,847 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:13:15,847 INFO L93 Difference]: Finished difference Result 65 states and 77 transitions. [2022-04-28 14:13:15,848 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 14:13:15,848 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 37 [2022-04-28 14:13:15,848 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:13:15,849 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:13:15,853 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 63 transitions. [2022-04-28 14:13:15,853 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:13:15,856 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 63 transitions. [2022-04-28 14:13:15,856 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 63 transitions. [2022-04-28 14:13:15,913 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:13:15,914 INFO L225 Difference]: With dead ends: 65 [2022-04-28 14:13:15,914 INFO L226 Difference]: Without dead ends: 53 [2022-04-28 14:13:15,915 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 58 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 54 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=61, Invalid=245, Unknown=0, NotChecked=0, Total=306 [2022-04-28 14:13:15,915 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 18 mSDsluCounter, 104 mSDsCounter, 0 mSdLazyCounter, 153 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 127 SdHoareTripleChecker+Invalid, 159 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 153 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 14:13:15,916 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [21 Valid, 127 Invalid, 159 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 153 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 14:13:15,916 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-28 14:13:15,979 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 53. [2022-04-28 14:13:15,979 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:13:15,979 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 53 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:13:15,980 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 53 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:13:15,981 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 53 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:13:15,984 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:13:15,984 INFO L93 Difference]: Finished difference Result 53 states and 60 transitions. [2022-04-28 14:13:15,984 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 60 transitions. [2022-04-28 14:13:15,984 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:13:15,984 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:13:15,985 INFO L74 IsIncluded]: Start isIncluded. First operand has 53 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 53 states. [2022-04-28 14:13:15,985 INFO L87 Difference]: Start difference. First operand has 53 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 53 states. [2022-04-28 14:13:15,987 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:13:15,987 INFO L93 Difference]: Finished difference Result 53 states and 60 transitions. [2022-04-28 14:13:15,987 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 60 transitions. [2022-04-28 14:13:15,988 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:13:15,988 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:13:15,988 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:13:15,988 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:13:15,988 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:13:15,990 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 60 transitions. [2022-04-28 14:13:15,990 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 60 transitions. Word has length 37 [2022-04-28 14:13:15,990 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:13:15,990 INFO L495 AbstractCegarLoop]: Abstraction has 53 states and 60 transitions. [2022-04-28 14:13:15,990 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:13:15,990 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 53 states and 60 transitions. [2022-04-28 14:13:16,060 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:13:16,060 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 60 transitions. [2022-04-28 14:13:16,061 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 14:13:16,061 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:13:16,061 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:13:16,077 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:13:16,263 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:13:16,263 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:13:16,264 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:13:16,264 INFO L85 PathProgramCache]: Analyzing trace with hash -1351630086, now seen corresponding path program 1 times [2022-04-28 14:13:16,264 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:13:16,264 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2137714532] [2022-04-28 14:13:16,265 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:13:16,265 INFO L85 PathProgramCache]: Analyzing trace with hash -1351630086, now seen corresponding path program 2 times [2022-04-28 14:13:16,265 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:13:16,265 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [333059768] [2022-04-28 14:13:16,265 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:13:16,265 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:13:16,283 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:13:16,284 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [712539830] [2022-04-28 14:13:16,284 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:13:16,284 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:13:16,284 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:13:16,285 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:13:16,303 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:13:16,343 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:13:16,344 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:13:16,344 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 14:13:16,354 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:13:16,355 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:13:26,511 INFO L272 TraceCheckUtils]: 0: Hoare triple {2015#true} call ULTIMATE.init(); {2015#true} is VALID [2022-04-28 14:13:26,511 INFO L290 TraceCheckUtils]: 1: Hoare triple {2015#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); {2015#true} is VALID [2022-04-28 14:13:26,511 INFO L290 TraceCheckUtils]: 2: Hoare triple {2015#true} assume true; {2015#true} is VALID [2022-04-28 14:13:26,512 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2015#true} {2015#true} #71#return; {2015#true} is VALID [2022-04-28 14:13:26,512 INFO L272 TraceCheckUtils]: 4: Hoare triple {2015#true} call #t~ret6 := main(); {2015#true} is VALID [2022-04-28 14:13:26,512 INFO L290 TraceCheckUtils]: 5: Hoare triple {2015#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; {2015#true} is VALID [2022-04-28 14:13:26,512 INFO L272 TraceCheckUtils]: 6: Hoare triple {2015#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {2015#true} is VALID [2022-04-28 14:13:26,512 INFO L290 TraceCheckUtils]: 7: Hoare triple {2015#true} ~cond := #in~cond; {2015#true} is VALID [2022-04-28 14:13:26,512 INFO L290 TraceCheckUtils]: 8: Hoare triple {2015#true} assume !(0 == ~cond); {2015#true} is VALID [2022-04-28 14:13:26,512 INFO L290 TraceCheckUtils]: 9: Hoare triple {2015#true} assume true; {2015#true} is VALID [2022-04-28 14:13:26,512 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2015#true} {2015#true} #61#return; {2015#true} is VALID [2022-04-28 14:13:26,513 INFO L290 TraceCheckUtils]: 11: Hoare triple {2015#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2015#true} is VALID [2022-04-28 14:13:26,513 INFO L272 TraceCheckUtils]: 12: Hoare triple {2015#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {2015#true} is VALID [2022-04-28 14:13:26,513 INFO L290 TraceCheckUtils]: 13: Hoare triple {2015#true} ~cond := #in~cond; {2015#true} is VALID [2022-04-28 14:13:26,513 INFO L290 TraceCheckUtils]: 14: Hoare triple {2015#true} assume !(0 == ~cond); {2015#true} is VALID [2022-04-28 14:13:26,513 INFO L290 TraceCheckUtils]: 15: Hoare triple {2015#true} assume true; {2015#true} is VALID [2022-04-28 14:13:26,513 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2015#true} {2015#true} #63#return; {2015#true} is VALID [2022-04-28 14:13:26,513 INFO L272 TraceCheckUtils]: 17: Hoare triple {2015#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2015#true} is VALID [2022-04-28 14:13:26,513 INFO L290 TraceCheckUtils]: 18: Hoare triple {2015#true} ~cond := #in~cond; {2015#true} is VALID [2022-04-28 14:13:26,513 INFO L290 TraceCheckUtils]: 19: Hoare triple {2015#true} assume !(0 == ~cond); {2015#true} is VALID [2022-04-28 14:13:26,514 INFO L290 TraceCheckUtils]: 20: Hoare triple {2015#true} assume true; {2015#true} is VALID [2022-04-28 14:13:26,514 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2015#true} {2015#true} #65#return; {2015#true} is VALID [2022-04-28 14:13:26,514 INFO L290 TraceCheckUtils]: 22: Hoare triple {2015#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2015#true} is VALID [2022-04-28 14:13:26,514 INFO L290 TraceCheckUtils]: 23: Hoare triple {2015#true} assume !false; {2015#true} is VALID [2022-04-28 14:13:26,514 INFO L272 TraceCheckUtils]: 24: Hoare triple {2015#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2015#true} is VALID [2022-04-28 14:13:26,514 INFO L290 TraceCheckUtils]: 25: Hoare triple {2015#true} ~cond := #in~cond; {2015#true} is VALID [2022-04-28 14:13:26,514 INFO L290 TraceCheckUtils]: 26: Hoare triple {2015#true} assume !(0 == ~cond); {2015#true} is VALID [2022-04-28 14:13:26,514 INFO L290 TraceCheckUtils]: 27: Hoare triple {2015#true} assume true; {2015#true} is VALID [2022-04-28 14:13:26,514 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2015#true} {2015#true} #67#return; {2015#true} is VALID [2022-04-28 14:13:26,514 INFO L290 TraceCheckUtils]: 29: Hoare triple {2015#true} assume !!(0 != ~y~0); {2015#true} is VALID [2022-04-28 14:13:26,515 INFO L290 TraceCheckUtils]: 30: Hoare triple {2015#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; {2015#true} is VALID [2022-04-28 14:13:26,515 INFO L290 TraceCheckUtils]: 31: Hoare triple {2015#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); {2015#true} is VALID [2022-04-28 14:13:26,515 INFO L290 TraceCheckUtils]: 32: Hoare triple {2015#true} assume !false; {2015#true} is VALID [2022-04-28 14:13:26,515 INFO L272 TraceCheckUtils]: 33: Hoare triple {2015#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2015#true} is VALID [2022-04-28 14:13:26,517 INFO L290 TraceCheckUtils]: 34: Hoare triple {2015#true} ~cond := #in~cond; {2122#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:13:26,517 INFO L290 TraceCheckUtils]: 35: Hoare triple {2122#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2126#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:13:26,518 INFO L290 TraceCheckUtils]: 36: Hoare triple {2126#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2126#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:13:28,520 WARN L284 TraceCheckUtils]: 37: Hoare quadruple {2126#(not (= |__VERIFIER_assert_#in~cond| 0))} {2015#true} #67#return; {2133#(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:13:28,521 INFO L290 TraceCheckUtils]: 38: Hoare triple {2133#(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); {2137#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:13:28,522 INFO L272 TraceCheckUtils]: 39: Hoare triple {2137#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2141#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:13:28,522 INFO L290 TraceCheckUtils]: 40: Hoare triple {2141#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2145#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:13:28,523 INFO L290 TraceCheckUtils]: 41: Hoare triple {2145#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2016#false} is VALID [2022-04-28 14:13:28,523 INFO L290 TraceCheckUtils]: 42: Hoare triple {2016#false} assume !false; {2016#false} is VALID [2022-04-28 14:13:28,523 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 14:13:28,523 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:13:38,741 INFO L290 TraceCheckUtils]: 42: Hoare triple {2016#false} assume !false; {2016#false} is VALID [2022-04-28 14:13:38,741 INFO L290 TraceCheckUtils]: 41: Hoare triple {2145#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2016#false} is VALID [2022-04-28 14:13:38,742 INFO L290 TraceCheckUtils]: 40: Hoare triple {2141#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2145#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:13:38,743 INFO L272 TraceCheckUtils]: 39: Hoare triple {2137#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2141#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:13:38,743 INFO L290 TraceCheckUtils]: 38: Hoare triple {2164#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} assume !(0 != ~y~0); {2137#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:13:38,744 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2126#(not (= |__VERIFIER_assert_#in~cond| 0))} {2015#true} #67#return; {2164#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 14:13:38,744 INFO L290 TraceCheckUtils]: 36: Hoare triple {2126#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2126#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:13:38,745 INFO L290 TraceCheckUtils]: 35: Hoare triple {2177#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2126#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:13:38,745 INFO L290 TraceCheckUtils]: 34: Hoare triple {2015#true} ~cond := #in~cond; {2177#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:13:38,745 INFO L272 TraceCheckUtils]: 33: Hoare triple {2015#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2015#true} is VALID [2022-04-28 14:13:38,746 INFO L290 TraceCheckUtils]: 32: Hoare triple {2015#true} assume !false; {2015#true} is VALID [2022-04-28 14:13:38,746 INFO L290 TraceCheckUtils]: 31: Hoare triple {2015#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); {2015#true} is VALID [2022-04-28 14:13:38,746 INFO L290 TraceCheckUtils]: 30: Hoare triple {2015#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; {2015#true} is VALID [2022-04-28 14:13:38,746 INFO L290 TraceCheckUtils]: 29: Hoare triple {2015#true} assume !!(0 != ~y~0); {2015#true} is VALID [2022-04-28 14:13:38,746 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2015#true} {2015#true} #67#return; {2015#true} is VALID [2022-04-28 14:13:38,746 INFO L290 TraceCheckUtils]: 27: Hoare triple {2015#true} assume true; {2015#true} is VALID [2022-04-28 14:13:38,746 INFO L290 TraceCheckUtils]: 26: Hoare triple {2015#true} assume !(0 == ~cond); {2015#true} is VALID [2022-04-28 14:13:38,746 INFO L290 TraceCheckUtils]: 25: Hoare triple {2015#true} ~cond := #in~cond; {2015#true} is VALID [2022-04-28 14:13:38,746 INFO L272 TraceCheckUtils]: 24: Hoare triple {2015#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2015#true} is VALID [2022-04-28 14:13:38,746 INFO L290 TraceCheckUtils]: 23: Hoare triple {2015#true} assume !false; {2015#true} is VALID [2022-04-28 14:13:38,747 INFO L290 TraceCheckUtils]: 22: Hoare triple {2015#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2015#true} is VALID [2022-04-28 14:13:38,747 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2015#true} {2015#true} #65#return; {2015#true} is VALID [2022-04-28 14:13:38,747 INFO L290 TraceCheckUtils]: 20: Hoare triple {2015#true} assume true; {2015#true} is VALID [2022-04-28 14:13:38,747 INFO L290 TraceCheckUtils]: 19: Hoare triple {2015#true} assume !(0 == ~cond); {2015#true} is VALID [2022-04-28 14:13:38,747 INFO L290 TraceCheckUtils]: 18: Hoare triple {2015#true} ~cond := #in~cond; {2015#true} is VALID [2022-04-28 14:13:38,747 INFO L272 TraceCheckUtils]: 17: Hoare triple {2015#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2015#true} is VALID [2022-04-28 14:13:38,747 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2015#true} {2015#true} #63#return; {2015#true} is VALID [2022-04-28 14:13:38,747 INFO L290 TraceCheckUtils]: 15: Hoare triple {2015#true} assume true; {2015#true} is VALID [2022-04-28 14:13:38,747 INFO L290 TraceCheckUtils]: 14: Hoare triple {2015#true} assume !(0 == ~cond); {2015#true} is VALID [2022-04-28 14:13:38,747 INFO L290 TraceCheckUtils]: 13: Hoare triple {2015#true} ~cond := #in~cond; {2015#true} is VALID [2022-04-28 14:13:38,748 INFO L272 TraceCheckUtils]: 12: Hoare triple {2015#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {2015#true} is VALID [2022-04-28 14:13:38,748 INFO L290 TraceCheckUtils]: 11: Hoare triple {2015#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2015#true} is VALID [2022-04-28 14:13:38,748 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2015#true} {2015#true} #61#return; {2015#true} is VALID [2022-04-28 14:13:38,748 INFO L290 TraceCheckUtils]: 9: Hoare triple {2015#true} assume true; {2015#true} is VALID [2022-04-28 14:13:38,748 INFO L290 TraceCheckUtils]: 8: Hoare triple {2015#true} assume !(0 == ~cond); {2015#true} is VALID [2022-04-28 14:13:38,748 INFO L290 TraceCheckUtils]: 7: Hoare triple {2015#true} ~cond := #in~cond; {2015#true} is VALID [2022-04-28 14:13:38,748 INFO L272 TraceCheckUtils]: 6: Hoare triple {2015#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {2015#true} is VALID [2022-04-28 14:13:38,748 INFO L290 TraceCheckUtils]: 5: Hoare triple {2015#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; {2015#true} is VALID [2022-04-28 14:13:38,748 INFO L272 TraceCheckUtils]: 4: Hoare triple {2015#true} call #t~ret6 := main(); {2015#true} is VALID [2022-04-28 14:13:38,749 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2015#true} {2015#true} #71#return; {2015#true} is VALID [2022-04-28 14:13:38,749 INFO L290 TraceCheckUtils]: 2: Hoare triple {2015#true} assume true; {2015#true} is VALID [2022-04-28 14:13:38,749 INFO L290 TraceCheckUtils]: 1: Hoare triple {2015#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); {2015#true} is VALID [2022-04-28 14:13:38,749 INFO L272 TraceCheckUtils]: 0: Hoare triple {2015#true} call ULTIMATE.init(); {2015#true} is VALID [2022-04-28 14:13:38,749 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 14:13:38,749 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:13:38,749 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [333059768] [2022-04-28 14:13:38,749 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:13:38,750 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [712539830] [2022-04-28 14:13:38,750 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [712539830] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:13:38,750 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:13:38,750 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-28 14:13:38,750 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:13:38,750 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2137714532] [2022-04-28 14:13:38,750 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2137714532] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:13:38,750 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:13:38,750 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 14:13:38,750 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1163293576] [2022-04-28 14:13:38,750 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:13:38,751 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 43 [2022-04-28 14:13:38,751 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:13:38,751 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 14:13:40,780 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:13:40,781 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 14:13:40,781 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:13:40,781 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 14:13:40,781 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-28 14:13:40,781 INFO L87 Difference]: Start difference. First operand 53 states and 60 transitions. Second operand has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 14:13:42,843 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:13:43,404 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:13:43,404 INFO L93 Difference]: Finished difference Result 60 states and 66 transitions. [2022-04-28 14:13:43,404 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 14:13:43,405 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 43 [2022-04-28 14:13:43,405 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:13:43,405 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 14:13:43,406 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 37 transitions. [2022-04-28 14:13:43,406 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 14:13:43,407 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 37 transitions. [2022-04-28 14:13:43,407 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 37 transitions. [2022-04-28 14:13:45,436 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 36 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 14:13:45,438 INFO L225 Difference]: With dead ends: 60 [2022-04-28 14:13:45,438 INFO L226 Difference]: Without dead ends: 53 [2022-04-28 14:13:45,438 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 76 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=95, Unknown=0, NotChecked=0, Total=132 [2022-04-28 14:13:45,439 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 13 mSDsluCounter, 95 mSDsCounter, 0 mSdLazyCounter, 69 mSolverCounterSat, 1 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 120 SdHoareTripleChecker+Invalid, 71 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 69 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.3s IncrementalHoareTripleChecker+Time [2022-04-28 14:13:45,439 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 120 Invalid, 71 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 69 Invalid, 1 Unknown, 0 Unchecked, 2.3s Time] [2022-04-28 14:13:45,440 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-28 14:13:45,488 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 52. [2022-04-28 14:13:45,488 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:13:45,488 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 52 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 36 states have internal predecessors, (40), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:13:45,488 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 52 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 36 states have internal predecessors, (40), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:13:45,489 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 52 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 36 states have internal predecessors, (40), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:13:45,490 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:13:45,491 INFO L93 Difference]: Finished difference Result 53 states and 58 transitions. [2022-04-28 14:13:45,491 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 58 transitions. [2022-04-28 14:13:45,491 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:13:45,491 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:13:45,491 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 36 states have internal predecessors, (40), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 53 states. [2022-04-28 14:13:45,491 INFO L87 Difference]: Start difference. First operand has 52 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 36 states have internal predecessors, (40), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 53 states. [2022-04-28 14:13:45,493 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:13:45,493 INFO L93 Difference]: Finished difference Result 53 states and 58 transitions. [2022-04-28 14:13:45,493 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 58 transitions. [2022-04-28 14:13:45,494 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:13:45,494 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:13:45,494 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:13:45,494 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:13:45,494 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 36 states have internal predecessors, (40), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:13:45,496 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 57 transitions. [2022-04-28 14:13:45,496 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 57 transitions. Word has length 43 [2022-04-28 14:13:45,496 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:13:45,496 INFO L495 AbstractCegarLoop]: Abstraction has 52 states and 57 transitions. [2022-04-28 14:13:45,496 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 14:13:45,496 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 52 states and 57 transitions. [2022-04-28 14:13:51,616 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 54 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-28 14:13:51,616 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 57 transitions. [2022-04-28 14:13:51,617 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 14:13:51,617 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:13:51,617 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:13:51,632 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:13:51,817 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:13:51,817 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:13:51,818 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:13:51,818 INFO L85 PathProgramCache]: Analyzing trace with hash -1494691206, now seen corresponding path program 1 times [2022-04-28 14:13:51,818 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:13:51,818 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1218079760] [2022-04-28 14:13:51,818 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:13:51,818 INFO L85 PathProgramCache]: Analyzing trace with hash -1494691206, now seen corresponding path program 2 times [2022-04-28 14:13:51,819 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:13:51,819 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1987636785] [2022-04-28 14:13:51,819 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:13:51,819 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:13:51,868 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:13:51,869 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1077965980] [2022-04-28 14:13:51,869 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:13:51,869 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:13:51,869 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:13:51,877 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:13:51,879 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:13:51,927 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:13:51,927 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:13:51,928 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 14:13:51,945 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:13:51,948 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:13:52,640 INFO L272 TraceCheckUtils]: 0: Hoare triple {2616#true} call ULTIMATE.init(); {2616#true} is VALID [2022-04-28 14:13:52,641 INFO L290 TraceCheckUtils]: 1: Hoare triple {2616#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); {2616#true} is VALID [2022-04-28 14:13:52,641 INFO L290 TraceCheckUtils]: 2: Hoare triple {2616#true} assume true; {2616#true} is VALID [2022-04-28 14:13:52,641 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2616#true} {2616#true} #71#return; {2616#true} is VALID [2022-04-28 14:13:52,641 INFO L272 TraceCheckUtils]: 4: Hoare triple {2616#true} call #t~ret6 := main(); {2616#true} is VALID [2022-04-28 14:13:52,641 INFO L290 TraceCheckUtils]: 5: Hoare triple {2616#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; {2616#true} is VALID [2022-04-28 14:13:52,641 INFO L272 TraceCheckUtils]: 6: Hoare triple {2616#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {2616#true} is VALID [2022-04-28 14:13:52,641 INFO L290 TraceCheckUtils]: 7: Hoare triple {2616#true} ~cond := #in~cond; {2616#true} is VALID [2022-04-28 14:13:52,641 INFO L290 TraceCheckUtils]: 8: Hoare triple {2616#true} assume !(0 == ~cond); {2616#true} is VALID [2022-04-28 14:13:52,641 INFO L290 TraceCheckUtils]: 9: Hoare triple {2616#true} assume true; {2616#true} is VALID [2022-04-28 14:13:52,641 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2616#true} {2616#true} #61#return; {2616#true} is VALID [2022-04-28 14:13:52,642 INFO L290 TraceCheckUtils]: 11: Hoare triple {2616#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2616#true} is VALID [2022-04-28 14:13:52,642 INFO L272 TraceCheckUtils]: 12: Hoare triple {2616#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {2616#true} is VALID [2022-04-28 14:13:52,642 INFO L290 TraceCheckUtils]: 13: Hoare triple {2616#true} ~cond := #in~cond; {2660#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:13:52,642 INFO L290 TraceCheckUtils]: 14: Hoare triple {2660#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2664#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:13:52,643 INFO L290 TraceCheckUtils]: 15: Hoare triple {2664#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2664#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:13:52,644 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2664#(not (= |assume_abort_if_not_#in~cond| 0))} {2616#true} #63#return; {2671#(and (<= main_~b~0 2) (<= 0 main_~b~0))} is VALID [2022-04-28 14:13:52,644 INFO L272 TraceCheckUtils]: 17: Hoare triple {2671#(and (<= main_~b~0 2) (<= 0 main_~b~0))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2616#true} is VALID [2022-04-28 14:13:52,644 INFO L290 TraceCheckUtils]: 18: Hoare triple {2616#true} ~cond := #in~cond; {2616#true} is VALID [2022-04-28 14:13:52,644 INFO L290 TraceCheckUtils]: 19: Hoare triple {2616#true} assume !(0 == ~cond); {2616#true} is VALID [2022-04-28 14:13:52,644 INFO L290 TraceCheckUtils]: 20: Hoare triple {2616#true} assume true; {2616#true} is VALID [2022-04-28 14:13:52,644 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2616#true} {2671#(and (<= main_~b~0 2) (<= 0 main_~b~0))} #65#return; {2671#(and (<= main_~b~0 2) (<= 0 main_~b~0))} is VALID [2022-04-28 14:13:52,645 INFO L290 TraceCheckUtils]: 22: Hoare triple {2671#(and (<= main_~b~0 2) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2690#(<= main_~y~0 2)} is VALID [2022-04-28 14:13:52,645 INFO L290 TraceCheckUtils]: 23: Hoare triple {2690#(<= main_~y~0 2)} assume !false; {2690#(<= main_~y~0 2)} is VALID [2022-04-28 14:13:52,645 INFO L272 TraceCheckUtils]: 24: Hoare triple {2690#(<= main_~y~0 2)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2616#true} is VALID [2022-04-28 14:13:52,646 INFO L290 TraceCheckUtils]: 25: Hoare triple {2616#true} ~cond := #in~cond; {2616#true} is VALID [2022-04-28 14:13:52,646 INFO L290 TraceCheckUtils]: 26: Hoare triple {2616#true} assume !(0 == ~cond); {2616#true} is VALID [2022-04-28 14:13:52,646 INFO L290 TraceCheckUtils]: 27: Hoare triple {2616#true} assume true; {2616#true} is VALID [2022-04-28 14:13:52,646 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2616#true} {2690#(<= main_~y~0 2)} #67#return; {2690#(<= main_~y~0 2)} is VALID [2022-04-28 14:13:52,647 INFO L290 TraceCheckUtils]: 29: Hoare triple {2690#(<= main_~y~0 2)} assume !!(0 != ~y~0); {2712#(and (not (= main_~y~0 0)) (<= main_~y~0 2))} is VALID [2022-04-28 14:13:52,648 INFO L290 TraceCheckUtils]: 30: Hoare triple {2712#(and (not (= main_~y~0 0)) (<= main_~y~0 2))} 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; {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} is VALID [2022-04-28 14:13:52,650 INFO L290 TraceCheckUtils]: 31: Hoare triple {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= 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); {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} is VALID [2022-04-28 14:13:52,650 INFO L290 TraceCheckUtils]: 32: Hoare triple {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} assume !false; {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} is VALID [2022-04-28 14:13:52,650 INFO L272 TraceCheckUtils]: 33: Hoare triple {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2616#true} is VALID [2022-04-28 14:13:52,650 INFO L290 TraceCheckUtils]: 34: Hoare triple {2616#true} ~cond := #in~cond; {2616#true} is VALID [2022-04-28 14:13:52,650 INFO L290 TraceCheckUtils]: 35: Hoare triple {2616#true} assume !(0 == ~cond); {2616#true} is VALID [2022-04-28 14:13:52,651 INFO L290 TraceCheckUtils]: 36: Hoare triple {2616#true} assume true; {2616#true} is VALID [2022-04-28 14:13:52,651 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2616#true} {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} #67#return; {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} is VALID [2022-04-28 14:13:52,656 INFO L290 TraceCheckUtils]: 38: Hoare triple {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} assume !!(0 != ~y~0); {2617#false} is VALID [2022-04-28 14:13:52,656 INFO L290 TraceCheckUtils]: 39: Hoare triple {2617#false} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2617#false} is VALID [2022-04-28 14:13:52,663 INFO L290 TraceCheckUtils]: 40: Hoare triple {2617#false} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2617#false} is VALID [2022-04-28 14:13:52,663 INFO L290 TraceCheckUtils]: 41: Hoare triple {2617#false} assume !false; {2617#false} is VALID [2022-04-28 14:13:52,663 INFO L272 TraceCheckUtils]: 42: Hoare triple {2617#false} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2617#false} is VALID [2022-04-28 14:13:52,663 INFO L290 TraceCheckUtils]: 43: Hoare triple {2617#false} ~cond := #in~cond; {2617#false} is VALID [2022-04-28 14:13:52,663 INFO L290 TraceCheckUtils]: 44: Hoare triple {2617#false} assume 0 == ~cond; {2617#false} is VALID [2022-04-28 14:13:52,663 INFO L290 TraceCheckUtils]: 45: Hoare triple {2617#false} assume !false; {2617#false} is VALID [2022-04-28 14:13:52,663 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 16 proven. 3 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-28 14:13:52,664 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:13:54,025 INFO L290 TraceCheckUtils]: 45: Hoare triple {2617#false} assume !false; {2617#false} is VALID [2022-04-28 14:13:54,025 INFO L290 TraceCheckUtils]: 44: Hoare triple {2617#false} assume 0 == ~cond; {2617#false} is VALID [2022-04-28 14:13:54,025 INFO L290 TraceCheckUtils]: 43: Hoare triple {2617#false} ~cond := #in~cond; {2617#false} is VALID [2022-04-28 14:13:54,025 INFO L272 TraceCheckUtils]: 42: Hoare triple {2617#false} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2617#false} is VALID [2022-04-28 14:13:54,025 INFO L290 TraceCheckUtils]: 41: Hoare triple {2617#false} assume !false; {2617#false} is VALID [2022-04-28 14:13:54,025 INFO L290 TraceCheckUtils]: 40: Hoare triple {2617#false} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2617#false} is VALID [2022-04-28 14:13:54,025 INFO L290 TraceCheckUtils]: 39: Hoare triple {2617#false} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2617#false} is VALID [2022-04-28 14:13:54,026 INFO L290 TraceCheckUtils]: 38: Hoare triple {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} assume !!(0 != ~y~0); {2617#false} is VALID [2022-04-28 14:13:54,026 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2616#true} {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} #67#return; {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} is VALID [2022-04-28 14:13:54,026 INFO L290 TraceCheckUtils]: 36: Hoare triple {2616#true} assume true; {2616#true} is VALID [2022-04-28 14:13:54,026 INFO L290 TraceCheckUtils]: 35: Hoare triple {2616#true} assume !(0 == ~cond); {2616#true} is VALID [2022-04-28 14:13:54,026 INFO L290 TraceCheckUtils]: 34: Hoare triple {2616#true} ~cond := #in~cond; {2616#true} is VALID [2022-04-28 14:13:54,027 INFO L272 TraceCheckUtils]: 33: Hoare triple {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2616#true} is VALID [2022-04-28 14:13:54,029 INFO L290 TraceCheckUtils]: 32: Hoare triple {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} assume !false; {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} is VALID [2022-04-28 14:13:54,031 INFO L290 TraceCheckUtils]: 31: Hoare triple {2804#(and (or (and (<= (div main_~y~0 2) 1) (<= 1 (mod (+ (div main_~y~0 2) 1) 2))) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))) (or (not (< main_~y~0 0)) (and (<= 0 (+ (div main_~y~0 2) 2)) (<= 1 (mod (div main_~y~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); {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} is VALID [2022-04-28 14:13:54,032 INFO L290 TraceCheckUtils]: 30: Hoare triple {2808#(or (and (<= 1 (mod (+ (div (+ (- 1) main_~y~0) 2) 1) 2)) (<= (div (+ (- 1) main_~y~0) 2) 1)) (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; {2804#(and (or (and (<= (div main_~y~0 2) 1) (<= 1 (mod (+ (div main_~y~0 2) 1) 2))) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))) (or (not (< main_~y~0 0)) (and (<= 0 (+ (div main_~y~0 2) 2)) (<= 1 (mod (div main_~y~0 2) 2)))))} is VALID [2022-04-28 14:13:54,033 INFO L290 TraceCheckUtils]: 29: Hoare triple {2808#(or (and (<= 1 (mod (+ (div (+ (- 1) main_~y~0) 2) 1) 2)) (<= (div (+ (- 1) main_~y~0) 2) 1)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {2808#(or (and (<= 1 (mod (+ (div (+ (- 1) main_~y~0) 2) 1) 2)) (<= (div (+ (- 1) main_~y~0) 2) 1)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 14:13:54,038 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2616#true} {2808#(or (and (<= 1 (mod (+ (div (+ (- 1) main_~y~0) 2) 1) 2)) (<= (div (+ (- 1) main_~y~0) 2) 1)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} #67#return; {2808#(or (and (<= 1 (mod (+ (div (+ (- 1) main_~y~0) 2) 1) 2)) (<= (div (+ (- 1) main_~y~0) 2) 1)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 14:13:54,038 INFO L290 TraceCheckUtils]: 27: Hoare triple {2616#true} assume true; {2616#true} is VALID [2022-04-28 14:13:54,038 INFO L290 TraceCheckUtils]: 26: Hoare triple {2616#true} assume !(0 == ~cond); {2616#true} is VALID [2022-04-28 14:13:54,039 INFO L290 TraceCheckUtils]: 25: Hoare triple {2616#true} ~cond := #in~cond; {2616#true} is VALID [2022-04-28 14:13:54,039 INFO L272 TraceCheckUtils]: 24: Hoare triple {2808#(or (and (<= 1 (mod (+ (div (+ (- 1) main_~y~0) 2) 1) 2)) (<= (div (+ (- 1) main_~y~0) 2) 1)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2616#true} is VALID [2022-04-28 14:13:54,039 INFO L290 TraceCheckUtils]: 23: Hoare triple {2808#(or (and (<= 1 (mod (+ (div (+ (- 1) main_~y~0) 2) 1) 2)) (<= (div (+ (- 1) main_~y~0) 2) 1)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !false; {2808#(or (and (<= 1 (mod (+ (div (+ (- 1) main_~y~0) 2) 1) 2)) (<= (div (+ (- 1) main_~y~0) 2) 1)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 14:13:54,040 INFO L290 TraceCheckUtils]: 22: Hoare triple {2833#(<= (div (* (- 1) (div (+ (- 2) (* (- 1) main_~b~0)) (- 2))) (- 2)) 1)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2808#(or (and (<= 1 (mod (+ (div (+ (- 1) main_~y~0) 2) 1) 2)) (<= (div (+ (- 1) main_~y~0) 2) 1)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 14:13:54,041 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2616#true} {2833#(<= (div (* (- 1) (div (+ (- 2) (* (- 1) main_~b~0)) (- 2))) (- 2)) 1)} #65#return; {2833#(<= (div (* (- 1) (div (+ (- 2) (* (- 1) main_~b~0)) (- 2))) (- 2)) 1)} is VALID [2022-04-28 14:13:54,041 INFO L290 TraceCheckUtils]: 20: Hoare triple {2616#true} assume true; {2616#true} is VALID [2022-04-28 14:13:54,041 INFO L290 TraceCheckUtils]: 19: Hoare triple {2616#true} assume !(0 == ~cond); {2616#true} is VALID [2022-04-28 14:13:54,041 INFO L290 TraceCheckUtils]: 18: Hoare triple {2616#true} ~cond := #in~cond; {2616#true} is VALID [2022-04-28 14:13:54,041 INFO L272 TraceCheckUtils]: 17: Hoare triple {2833#(<= (div (* (- 1) (div (+ (- 2) (* (- 1) main_~b~0)) (- 2))) (- 2)) 1)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2616#true} is VALID [2022-04-28 14:13:54,041 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2664#(not (= |assume_abort_if_not_#in~cond| 0))} {2616#true} #63#return; {2833#(<= (div (* (- 1) (div (+ (- 2) (* (- 1) main_~b~0)) (- 2))) (- 2)) 1)} is VALID [2022-04-28 14:13:54,042 INFO L290 TraceCheckUtils]: 15: Hoare triple {2664#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2664#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:13:54,042 INFO L290 TraceCheckUtils]: 14: Hoare triple {2861#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {2664#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:13:54,042 INFO L290 TraceCheckUtils]: 13: Hoare triple {2616#true} ~cond := #in~cond; {2861#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 14:13:54,042 INFO L272 TraceCheckUtils]: 12: Hoare triple {2616#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {2616#true} is VALID [2022-04-28 14:13:54,042 INFO L290 TraceCheckUtils]: 11: Hoare triple {2616#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2616#true} is VALID [2022-04-28 14:13:54,043 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2616#true} {2616#true} #61#return; {2616#true} is VALID [2022-04-28 14:13:54,043 INFO L290 TraceCheckUtils]: 9: Hoare triple {2616#true} assume true; {2616#true} is VALID [2022-04-28 14:13:54,043 INFO L290 TraceCheckUtils]: 8: Hoare triple {2616#true} assume !(0 == ~cond); {2616#true} is VALID [2022-04-28 14:13:54,043 INFO L290 TraceCheckUtils]: 7: Hoare triple {2616#true} ~cond := #in~cond; {2616#true} is VALID [2022-04-28 14:13:54,043 INFO L272 TraceCheckUtils]: 6: Hoare triple {2616#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {2616#true} is VALID [2022-04-28 14:13:54,043 INFO L290 TraceCheckUtils]: 5: Hoare triple {2616#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; {2616#true} is VALID [2022-04-28 14:13:54,043 INFO L272 TraceCheckUtils]: 4: Hoare triple {2616#true} call #t~ret6 := main(); {2616#true} is VALID [2022-04-28 14:13:54,043 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2616#true} {2616#true} #71#return; {2616#true} is VALID [2022-04-28 14:13:54,043 INFO L290 TraceCheckUtils]: 2: Hoare triple {2616#true} assume true; {2616#true} is VALID [2022-04-28 14:13:54,043 INFO L290 TraceCheckUtils]: 1: Hoare triple {2616#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); {2616#true} is VALID [2022-04-28 14:13:54,043 INFO L272 TraceCheckUtils]: 0: Hoare triple {2616#true} call ULTIMATE.init(); {2616#true} is VALID [2022-04-28 14:13:54,043 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 16 proven. 3 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-28 14:13:54,044 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:13:54,044 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1987636785] [2022-04-28 14:13:54,044 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:13:54,044 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1077965980] [2022-04-28 14:13:54,044 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1077965980] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:13:54,044 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:13:54,044 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-28 14:13:54,044 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:13:54,044 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1218079760] [2022-04-28 14:13:54,044 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1218079760] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:13:54,045 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:13:54,045 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 14:13:54,045 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [93676856] [2022-04-28 14:13:54,045 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:13:54,045 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 46 [2022-04-28 14:13:54,045 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:13:54,046 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 14:13:54,073 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:13:54,073 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 14:13:54,073 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:13:54,073 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 14:13:54,073 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=100, Unknown=0, NotChecked=0, Total=132 [2022-04-28 14:13:54,074 INFO L87 Difference]: Start difference. First operand 52 states and 57 transitions. Second operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 14:13:54,320 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:13:54,320 INFO L93 Difference]: Finished difference Result 70 states and 75 transitions. [2022-04-28 14:13:54,321 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 14:13:54,321 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 46 [2022-04-28 14:13:54,321 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:13:54,321 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 14:13:54,323 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 46 transitions. [2022-04-28 14:13:54,323 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 14:13:54,324 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 46 transitions. [2022-04-28 14:13:54,324 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 46 transitions. [2022-04-28 14:13:54,358 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:13:54,359 INFO L225 Difference]: With dead ends: 70 [2022-04-28 14:13:54,359 INFO L226 Difference]: Without dead ends: 39 [2022-04-28 14:13:54,360 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 95 GetRequests, 78 SyntacticMatches, 3 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=60, Invalid=180, Unknown=0, NotChecked=0, Total=240 [2022-04-28 14:13:54,360 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 8 mSDsluCounter, 78 mSDsCounter, 0 mSdLazyCounter, 74 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 101 SdHoareTripleChecker+Invalid, 82 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 74 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 14:13:54,361 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 101 Invalid, 82 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 74 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 14:13:54,361 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2022-04-28 14:13:54,403 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 39. [2022-04-28 14:13:54,404 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:13:54,404 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand has 39 states, 26 states have (on average 1.0) internal successors, (26), 26 states have internal predecessors, (26), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:13:54,404 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand has 39 states, 26 states have (on average 1.0) internal successors, (26), 26 states have internal predecessors, (26), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:13:54,404 INFO L87 Difference]: Start difference. First operand 39 states. Second operand has 39 states, 26 states have (on average 1.0) internal successors, (26), 26 states have internal predecessors, (26), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:13:54,405 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:13:54,406 INFO L93 Difference]: Finished difference Result 39 states and 40 transitions. [2022-04-28 14:13:54,406 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 40 transitions. [2022-04-28 14:13:54,406 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:13:54,406 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:13:54,406 INFO L74 IsIncluded]: Start isIncluded. First operand has 39 states, 26 states have (on average 1.0) internal successors, (26), 26 states have internal predecessors, (26), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 39 states. [2022-04-28 14:13:54,406 INFO L87 Difference]: Start difference. First operand has 39 states, 26 states have (on average 1.0) internal successors, (26), 26 states have internal predecessors, (26), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 39 states. [2022-04-28 14:13:54,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:13:54,408 INFO L93 Difference]: Finished difference Result 39 states and 40 transitions. [2022-04-28 14:13:54,408 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 40 transitions. [2022-04-28 14:13:54,408 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:13:54,408 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:13:54,408 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:13:54,408 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:13:54,408 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 26 states have (on average 1.0) internal successors, (26), 26 states have internal predecessors, (26), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:13:54,409 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 40 transitions. [2022-04-28 14:13:54,409 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 40 transitions. Word has length 46 [2022-04-28 14:13:54,410 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:13:54,410 INFO L495 AbstractCegarLoop]: Abstraction has 39 states and 40 transitions. [2022-04-28 14:13:54,410 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 14:13:54,410 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 39 states and 40 transitions. [2022-04-28 14:13:56,464 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 39 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 14:13:56,464 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 40 transitions. [2022-04-28 14:13:56,465 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 14:13:56,465 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:13:56,465 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:13:56,481 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-28 14:13:56,667 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:13:56,667 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:13:56,668 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:13:56,668 INFO L85 PathProgramCache]: Analyzing trace with hash 4200374, now seen corresponding path program 3 times [2022-04-28 14:13:56,668 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:13:56,668 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1903483037] [2022-04-28 14:13:56,668 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:13:56,668 INFO L85 PathProgramCache]: Analyzing trace with hash 4200374, now seen corresponding path program 4 times [2022-04-28 14:13:56,668 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:13:56,668 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1810047356] [2022-04-28 14:13:56,668 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:13:56,668 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:13:56,695 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:13:56,695 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [171787846] [2022-04-28 14:13:56,695 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 14:13:56,695 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:13:56,696 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:13:56,698 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:13:56,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:13:56,744 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 14:13:56,744 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:13:56,745 INFO L263 TraceCheckSpWp]: Trace formula consists of 96 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-28 14:13:56,758 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:13:56,763 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:13:58,200 INFO L272 TraceCheckUtils]: 0: Hoare triple {3207#true} call ULTIMATE.init(); {3207#true} is VALID [2022-04-28 14:13:58,201 INFO L290 TraceCheckUtils]: 1: Hoare triple {3207#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); {3207#true} is VALID [2022-04-28 14:13:58,201 INFO L290 TraceCheckUtils]: 2: Hoare triple {3207#true} assume true; {3207#true} is VALID [2022-04-28 14:13:58,201 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3207#true} {3207#true} #71#return; {3207#true} is VALID [2022-04-28 14:13:58,201 INFO L272 TraceCheckUtils]: 4: Hoare triple {3207#true} call #t~ret6 := main(); {3207#true} is VALID [2022-04-28 14:13:58,201 INFO L290 TraceCheckUtils]: 5: Hoare triple {3207#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; {3207#true} is VALID [2022-04-28 14:13:58,201 INFO L272 TraceCheckUtils]: 6: Hoare triple {3207#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {3207#true} is VALID [2022-04-28 14:13:58,201 INFO L290 TraceCheckUtils]: 7: Hoare triple {3207#true} ~cond := #in~cond; {3207#true} is VALID [2022-04-28 14:13:58,201 INFO L290 TraceCheckUtils]: 8: Hoare triple {3207#true} assume !(0 == ~cond); {3207#true} is VALID [2022-04-28 14:13:58,201 INFO L290 TraceCheckUtils]: 9: Hoare triple {3207#true} assume true; {3207#true} is VALID [2022-04-28 14:13:58,201 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3207#true} {3207#true} #61#return; {3207#true} is VALID [2022-04-28 14:13:58,201 INFO L290 TraceCheckUtils]: 11: Hoare triple {3207#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3207#true} is VALID [2022-04-28 14:13:58,202 INFO L272 TraceCheckUtils]: 12: Hoare triple {3207#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {3207#true} is VALID [2022-04-28 14:13:58,202 INFO L290 TraceCheckUtils]: 13: Hoare triple {3207#true} ~cond := #in~cond; {3251#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:13:58,202 INFO L290 TraceCheckUtils]: 14: Hoare triple {3251#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3255#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:13:58,202 INFO L290 TraceCheckUtils]: 15: Hoare triple {3255#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3255#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:13:58,203 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3255#(not (= |assume_abort_if_not_#in~cond| 0))} {3207#true} #63#return; {3262#(and (<= main_~b~0 2) (<= 0 main_~b~0))} is VALID [2022-04-28 14:13:58,203 INFO L272 TraceCheckUtils]: 17: Hoare triple {3262#(and (<= main_~b~0 2) (<= 0 main_~b~0))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3207#true} is VALID [2022-04-28 14:13:58,203 INFO L290 TraceCheckUtils]: 18: Hoare triple {3207#true} ~cond := #in~cond; {3207#true} is VALID [2022-04-28 14:13:58,203 INFO L290 TraceCheckUtils]: 19: Hoare triple {3207#true} assume !(0 == ~cond); {3207#true} is VALID [2022-04-28 14:13:58,203 INFO L290 TraceCheckUtils]: 20: Hoare triple {3207#true} assume true; {3207#true} is VALID [2022-04-28 14:13:58,204 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3207#true} {3262#(and (<= main_~b~0 2) (<= 0 main_~b~0))} #65#return; {3262#(and (<= main_~b~0 2) (<= 0 main_~b~0))} is VALID [2022-04-28 14:13:58,204 INFO L290 TraceCheckUtils]: 22: Hoare triple {3262#(and (<= main_~b~0 2) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3281#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:13:58,204 INFO L290 TraceCheckUtils]: 23: Hoare triple {3281#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {3281#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:13:58,204 INFO L272 TraceCheckUtils]: 24: Hoare triple {3281#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 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)); {3207#true} is VALID [2022-04-28 14:13:58,204 INFO L290 TraceCheckUtils]: 25: Hoare triple {3207#true} ~cond := #in~cond; {3207#true} is VALID [2022-04-28 14:13:58,204 INFO L290 TraceCheckUtils]: 26: Hoare triple {3207#true} assume !(0 == ~cond); {3207#true} is VALID [2022-04-28 14:13:58,205 INFO L290 TraceCheckUtils]: 27: Hoare triple {3207#true} assume true; {3207#true} is VALID [2022-04-28 14:13:58,219 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3207#true} {3281#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {3281#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:13:58,220 INFO L290 TraceCheckUtils]: 29: Hoare triple {3281#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {3303#(and (= main_~z~0 0) (not (= main_~y~0 0)) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:13:58,221 INFO L290 TraceCheckUtils]: 30: Hoare triple {3303#(and (= main_~z~0 0) (not (= main_~y~0 0)) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 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)); {3307#(and (= main_~z~0 0) (not (= main_~y~0 0)) (<= main_~b~0 2) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:13:58,222 INFO L290 TraceCheckUtils]: 31: Hoare triple {3307#(and (= main_~z~0 0) (not (= main_~y~0 0)) (<= main_~b~0 2) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3311#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0))} is VALID [2022-04-28 14:13:58,222 INFO L290 TraceCheckUtils]: 32: Hoare triple {3311#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0))} assume !false; {3311#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0))} is VALID [2022-04-28 14:13:58,222 INFO L272 TraceCheckUtils]: 33: Hoare triple {3311#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3207#true} is VALID [2022-04-28 14:13:58,223 INFO L290 TraceCheckUtils]: 34: Hoare triple {3207#true} ~cond := #in~cond; {3321#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:13:58,223 INFO L290 TraceCheckUtils]: 35: Hoare triple {3321#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3325#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:13:58,223 INFO L290 TraceCheckUtils]: 36: Hoare triple {3325#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3325#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:13:58,224 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3325#(not (= |__VERIFIER_assert_#in~cond| 0))} {3311#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0))} #67#return; {3311#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0))} is VALID [2022-04-28 14:13:58,225 INFO L290 TraceCheckUtils]: 38: Hoare triple {3311#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0))} assume !!(0 != ~y~0); {3311#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0))} is VALID [2022-04-28 14:13:58,226 INFO L290 TraceCheckUtils]: 39: Hoare triple {3311#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 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; {3338#(and (= main_~z~0 main_~x~0) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (= (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:13:58,228 INFO L290 TraceCheckUtils]: 40: Hoare triple {3338#(and (= main_~z~0 main_~x~0) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (= (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); {3342#(and (<= main_~b~0 2) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (= 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:13:58,228 INFO L290 TraceCheckUtils]: 41: Hoare triple {3342#(and (<= main_~b~0 2) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} assume !false; {3342#(and (<= main_~b~0 2) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (= 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:13:58,231 INFO L272 TraceCheckUtils]: 42: Hoare triple {3342#(and (<= main_~b~0 2) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (= 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)); {3349#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:13:58,231 INFO L290 TraceCheckUtils]: 43: Hoare triple {3349#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3353#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:13:58,231 INFO L290 TraceCheckUtils]: 44: Hoare triple {3353#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3208#false} is VALID [2022-04-28 14:13:58,231 INFO L290 TraceCheckUtils]: 45: Hoare triple {3208#false} assume !false; {3208#false} is VALID [2022-04-28 14:13:58,232 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 9 proven. 13 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-28 14:13:58,232 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:14:57,290 INFO L290 TraceCheckUtils]: 45: Hoare triple {3208#false} assume !false; {3208#false} is VALID [2022-04-28 14:14:57,291 INFO L290 TraceCheckUtils]: 44: Hoare triple {3353#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3208#false} is VALID [2022-04-28 14:14:57,291 INFO L290 TraceCheckUtils]: 43: Hoare triple {3349#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3353#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:14:57,292 INFO L272 TraceCheckUtils]: 42: Hoare triple {3369#(= (+ 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)); {3349#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:14:57,292 INFO L290 TraceCheckUtils]: 41: Hoare triple {3369#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {3369#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:14:57,309 INFO L290 TraceCheckUtils]: 40: Hoare triple {3376#(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); {3369#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:14:57,311 INFO L290 TraceCheckUtils]: 39: Hoare triple {3380#(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; {3376#(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:14:57,311 INFO L290 TraceCheckUtils]: 38: Hoare triple {3380#(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); {3380#(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:14:59,313 WARN L284 TraceCheckUtils]: 37: Hoare quadruple {3325#(not (= |__VERIFIER_assert_#in~cond| 0))} {3207#true} #67#return; {3380#(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:14:59,314 INFO L290 TraceCheckUtils]: 36: Hoare triple {3325#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3325#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:14:59,314 INFO L290 TraceCheckUtils]: 35: Hoare triple {3396#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3325#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:14:59,314 INFO L290 TraceCheckUtils]: 34: Hoare triple {3207#true} ~cond := #in~cond; {3396#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:14:59,314 INFO L272 TraceCheckUtils]: 33: Hoare triple {3207#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3207#true} is VALID [2022-04-28 14:14:59,314 INFO L290 TraceCheckUtils]: 32: Hoare triple {3207#true} assume !false; {3207#true} is VALID [2022-04-28 14:14:59,314 INFO L290 TraceCheckUtils]: 31: Hoare triple {3207#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); {3207#true} is VALID [2022-04-28 14:14:59,314 INFO L290 TraceCheckUtils]: 30: Hoare triple {3207#true} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3207#true} is VALID [2022-04-28 14:14:59,315 INFO L290 TraceCheckUtils]: 29: Hoare triple {3207#true} assume !!(0 != ~y~0); {3207#true} is VALID [2022-04-28 14:14:59,315 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3207#true} {3207#true} #67#return; {3207#true} is VALID [2022-04-28 14:14:59,315 INFO L290 TraceCheckUtils]: 27: Hoare triple {3207#true} assume true; {3207#true} is VALID [2022-04-28 14:14:59,315 INFO L290 TraceCheckUtils]: 26: Hoare triple {3207#true} assume !(0 == ~cond); {3207#true} is VALID [2022-04-28 14:14:59,315 INFO L290 TraceCheckUtils]: 25: Hoare triple {3207#true} ~cond := #in~cond; {3207#true} is VALID [2022-04-28 14:14:59,315 INFO L272 TraceCheckUtils]: 24: Hoare triple {3207#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3207#true} is VALID [2022-04-28 14:14:59,315 INFO L290 TraceCheckUtils]: 23: Hoare triple {3207#true} assume !false; {3207#true} is VALID [2022-04-28 14:14:59,315 INFO L290 TraceCheckUtils]: 22: Hoare triple {3207#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3207#true} is VALID [2022-04-28 14:14:59,315 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3207#true} {3207#true} #65#return; {3207#true} is VALID [2022-04-28 14:14:59,315 INFO L290 TraceCheckUtils]: 20: Hoare triple {3207#true} assume true; {3207#true} is VALID [2022-04-28 14:14:59,315 INFO L290 TraceCheckUtils]: 19: Hoare triple {3207#true} assume !(0 == ~cond); {3207#true} is VALID [2022-04-28 14:14:59,315 INFO L290 TraceCheckUtils]: 18: Hoare triple {3207#true} ~cond := #in~cond; {3207#true} is VALID [2022-04-28 14:14:59,315 INFO L272 TraceCheckUtils]: 17: Hoare triple {3207#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3207#true} is VALID [2022-04-28 14:14:59,315 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3207#true} {3207#true} #63#return; {3207#true} is VALID [2022-04-28 14:14:59,315 INFO L290 TraceCheckUtils]: 15: Hoare triple {3207#true} assume true; {3207#true} is VALID [2022-04-28 14:14:59,316 INFO L290 TraceCheckUtils]: 14: Hoare triple {3207#true} assume !(0 == ~cond); {3207#true} is VALID [2022-04-28 14:14:59,316 INFO L290 TraceCheckUtils]: 13: Hoare triple {3207#true} ~cond := #in~cond; {3207#true} is VALID [2022-04-28 14:14:59,316 INFO L272 TraceCheckUtils]: 12: Hoare triple {3207#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {3207#true} is VALID [2022-04-28 14:14:59,316 INFO L290 TraceCheckUtils]: 11: Hoare triple {3207#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3207#true} is VALID [2022-04-28 14:14:59,316 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3207#true} {3207#true} #61#return; {3207#true} is VALID [2022-04-28 14:14:59,316 INFO L290 TraceCheckUtils]: 9: Hoare triple {3207#true} assume true; {3207#true} is VALID [2022-04-28 14:14:59,316 INFO L290 TraceCheckUtils]: 8: Hoare triple {3207#true} assume !(0 == ~cond); {3207#true} is VALID [2022-04-28 14:14:59,316 INFO L290 TraceCheckUtils]: 7: Hoare triple {3207#true} ~cond := #in~cond; {3207#true} is VALID [2022-04-28 14:14:59,316 INFO L272 TraceCheckUtils]: 6: Hoare triple {3207#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {3207#true} is VALID [2022-04-28 14:14:59,316 INFO L290 TraceCheckUtils]: 5: Hoare triple {3207#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; {3207#true} is VALID [2022-04-28 14:14:59,316 INFO L272 TraceCheckUtils]: 4: Hoare triple {3207#true} call #t~ret6 := main(); {3207#true} is VALID [2022-04-28 14:14:59,316 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3207#true} {3207#true} #71#return; {3207#true} is VALID [2022-04-28 14:14:59,317 INFO L290 TraceCheckUtils]: 2: Hoare triple {3207#true} assume true; {3207#true} is VALID [2022-04-28 14:14:59,317 INFO L290 TraceCheckUtils]: 1: Hoare triple {3207#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); {3207#true} is VALID [2022-04-28 14:14:59,317 INFO L272 TraceCheckUtils]: 0: Hoare triple {3207#true} call ULTIMATE.init(); {3207#true} is VALID [2022-04-28 14:14:59,317 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 13 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 14:14:59,317 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:14:59,317 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1810047356] [2022-04-28 14:14:59,317 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:14:59,317 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [171787846] [2022-04-28 14:14:59,318 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [171787846] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:14:59,318 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:14:59,318 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 9] total 19 [2022-04-28 14:14:59,318 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:14:59,318 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1903483037] [2022-04-28 14:14:59,318 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1903483037] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:14:59,318 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:14:59,318 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 14:14:59,318 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [261723490] [2022-04-28 14:14:59,318 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:14:59,320 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 46 [2022-04-28 14:14:59,320 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:14:59,320 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 14:14:59,359 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:14:59,359 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 14:14:59,359 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:14:59,360 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 14:14:59,360 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=64, Invalid=278, Unknown=0, NotChecked=0, Total=342 [2022-04-28 14:14:59,360 INFO L87 Difference]: Start difference. First operand 39 states and 40 transitions. Second operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 14:14:59,997 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:14:59,997 INFO L93 Difference]: Finished difference Result 39 states and 40 transitions. [2022-04-28 14:14:59,997 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 14:14:59,998 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 46 [2022-04-28 14:14:59,998 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:14:59,998 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 14:14:59,999 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 36 transitions. [2022-04-28 14:14:59,999 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 14:15:00,000 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 36 transitions. [2022-04-28 14:15:00,001 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 36 transitions. [2022-04-28 14:15:00,041 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:15:00,041 INFO L225 Difference]: With dead ends: 39 [2022-04-28 14:15:00,041 INFO L226 Difference]: Without dead ends: 0 [2022-04-28 14:15:00,042 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 71 SyntacticMatches, 3 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 96 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=75, Invalid=345, Unknown=0, NotChecked=0, Total=420 [2022-04-28 14:15:00,042 INFO L413 NwaCegarLoop]: 19 mSDtfsCounter, 17 mSDsluCounter, 122 mSDsCounter, 0 mSdLazyCounter, 205 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 141 SdHoareTripleChecker+Invalid, 213 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 205 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 14:15:00,043 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 141 Invalid, 213 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 205 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 14:15:00,043 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-28 14:15:00,043 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-28 14:15:00,043 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:15:00,043 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 14:15:00,043 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 14:15:00,044 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 14:15:00,044 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:15:00,044 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 14:15:00,044 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 14:15:00,044 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:15:00,044 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:15:00,044 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-28 14:15:00,044 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-28 14:15:00,044 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:15:00,044 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 14:15:00,044 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 14:15:00,044 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:15:00,044 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:15:00,044 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:15:00,044 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:15:00,045 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 14:15:00,045 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-28 14:15:00,045 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 46 [2022-04-28 14:15:00,045 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:15:00,045 INFO L495 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-28 14:15:00,045 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 14:15:00,045 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-28 14:15:00,045 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:15:00,045 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 14:15:00,045 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:15:00,047 INFO L805 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-28 14:15:00,071 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:15:00,259 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:15:00,261 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-28 14:15:10,153 WARN L232 SmtUtils]: Spent 5.33s on a formula simplification. DAG size of input: 46 DAG size of output: 36 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-28 14:15:10,175 INFO L899 garLoopResultBuilder]: For program point reach_errorEXIT(line 6) no Hoare annotation was computed. [2022-04-28 14:15:10,175 INFO L899 garLoopResultBuilder]: For program point reach_errorENTRY(line 6) no Hoare annotation was computed. [2022-04-28 14:15:10,176 INFO L899 garLoopResultBuilder]: For program point reach_errorFINAL(line 6) no Hoare annotation was computed. [2022-04-28 14:15:10,176 INFO L902 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 9 11) the Hoare annotation is: true [2022-04-28 14:15:10,176 INFO L895 garLoopResultBuilder]: At program point L10(line 10) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-28 14:15:10,176 INFO L895 garLoopResultBuilder]: At program point L10-2(lines 9 11) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-28 14:15:10,176 INFO L895 garLoopResultBuilder]: At program point assume_abort_if_notEXIT(lines 9 11) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-28 14:15:10,176 INFO L902 garLoopResultBuilder]: At program point L27(line 27) the Hoare annotation is: true [2022-04-28 14:15:10,176 INFO L895 garLoopResultBuilder]: At program point L27-1(line 27) the Hoare annotation is: (and (<= main_~b~0 2) (<= 0 main_~b~0)) [2022-04-28 14:15:10,176 INFO L902 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: true [2022-04-28 14:15:10,176 INFO L902 garLoopResultBuilder]: At program point mainEXIT(lines 20 49) the Hoare annotation is: true [2022-04-28 14:15:10,176 INFO L902 garLoopResultBuilder]: At program point L25-1(line 25) the Hoare annotation is: true [2022-04-28 14:15:10,176 INFO L902 garLoopResultBuilder]: At program point L46(line 46) the Hoare annotation is: true [2022-04-28 14:15:10,176 INFO L902 garLoopResultBuilder]: At program point mainFINAL(lines 20 49) the Hoare annotation is: true [2022-04-28 14:15:10,176 INFO L895 garLoopResultBuilder]: At program point L34-2(lines 34 45) the Hoare annotation is: (let ((.cse0 (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (.cse2 (<= main_~b~0 2)) (.cse3 (<= 1 main_~b~0))) (or (and .cse0 (<= main_~y~0 2) (= main_~b~0 main_~y~0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0)) (let ((.cse1 (+ main_~y~0 1))) (and (<= 1 (mod .cse1 2)) .cse0 .cse2 .cse3 (<= 0 .cse1) (<= main_~y~0 1))) (and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) .cse2 (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) .cse3))) [2022-04-28 14:15:10,176 INFO L895 garLoopResultBuilder]: At program point L34-3(lines 34 45) the Hoare annotation is: (let ((.cse0 (* main_~b~0 main_~a~0))) (and (= main_~z~0 .cse0) (<= main_~b~0 2) (<= 1 main_~b~0) (or (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0) (= .cse0 (+ (* main_~x~0 2) (* 2 (* (div main_~y~0 2) main_~x~0)) main_~z~0))))) [2022-04-28 14:15:10,176 INFO L902 garLoopResultBuilder]: At program point mainENTRY(lines 20 49) the Hoare annotation is: true [2022-04-28 14:15:10,177 INFO L895 garLoopResultBuilder]: At program point L28(line 28) the Hoare annotation is: (and (<= main_~b~0 2) (<= 1 main_~b~0)) [2022-04-28 14:15:10,177 INFO L895 garLoopResultBuilder]: At program point L39(lines 39 42) the Hoare annotation is: (let ((.cse0 (<= 1 main_~b~0))) (or (and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) .cse0) (and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= main_~y~0 2) (= main_~b~0 main_~y~0) .cse0 (= main_~a~0 main_~x~0)))) [2022-04-28 14:15:10,177 INFO L895 garLoopResultBuilder]: At program point L39-2(lines 39 42) the Hoare annotation is: (let ((.cse1 (<= 1 main_~b~0))) (or (let ((.cse0 (+ main_~y~0 1))) (and (<= 1 (mod .cse0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= main_~b~0 2) .cse1 (<= 0 .cse0) (<= main_~y~0 1))) (and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (<= main_~y~0 2) (= main_~b~0 main_~y~0) .cse1 (= main_~a~0 main_~x~0)))) [2022-04-28 14:15:10,177 INFO L895 garLoopResultBuilder]: At program point L35(line 35) the Hoare annotation is: (let ((.cse0 (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (.cse2 (<= main_~b~0 2)) (.cse3 (<= 1 main_~b~0))) (or (and .cse0 (<= main_~y~0 2) (= main_~b~0 main_~y~0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0)) (let ((.cse1 (+ main_~y~0 1))) (and (<= 1 (mod .cse1 2)) .cse0 .cse2 .cse3 (<= 0 .cse1) (<= main_~y~0 1))) (and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) .cse2 (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) .cse3))) [2022-04-28 14:15:10,177 INFO L895 garLoopResultBuilder]: At program point L35-1(lines 34 45) the Hoare annotation is: (let ((.cse0 (* main_~b~0 main_~a~0)) (.cse1 (<= main_~b~0 2)) (.cse2 (<= 1 main_~b~0))) (or (and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) .cse0) (<= main_~y~0 2) (= main_~b~0 main_~y~0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0)) (and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) .cse1 (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) .cse2) (let ((.cse3 (+ main_~y~0 1))) (and (<= 1 (mod .cse3 2)) (= main_~z~0 .cse0) .cse1 .cse2 (<= 0 .cse3) (<= main_~y~0 1))))) [2022-04-28 14:15:10,177 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-28 14:15:10,177 INFO L895 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-28 14:15:10,177 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-28 14:15:10,177 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-28 14:15:10,177 INFO L902 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-28 14:15:10,177 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-28 14:15:10,177 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-28 14:15:10,178 INFO L902 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 12 18) the Hoare annotation is: true [2022-04-28 14:15:10,178 INFO L895 garLoopResultBuilder]: At program point L14(lines 14 15) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-28 14:15:10,178 INFO L895 garLoopResultBuilder]: At program point L13(lines 13 16) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 14:15:10,178 INFO L895 garLoopResultBuilder]: At program point L13-2(lines 12 18) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 14:15:10,178 INFO L895 garLoopResultBuilder]: At program point __VERIFIER_assertEXIT(lines 12 18) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 14:15:10,178 INFO L895 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 15) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-28 14:15:10,180 INFO L356 BasicCegarLoop]: Path program histogram: [4, 2, 2, 2, 2, 2, 2] [2022-04-28 14:15:10,181 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-28 14:15:10,184 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-28 14:15:10,185 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-28 14:15:10,230 INFO L163 areAnnotationChecker]: CFG has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-28 14:15:10,239 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 28.04 02:15:10 BoogieIcfgContainer [2022-04-28 14:15:10,239 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-28 14:15:10,240 INFO L158 Benchmark]: Toolchain (without parser) took 164078.62ms. Allocated memory was 188.7MB in the beginning and 229.6MB in the end (delta: 40.9MB). Free memory was 140.0MB in the beginning and 87.1MB in the end (delta: 52.9MB). Peak memory consumption was 95.1MB. Max. memory is 8.0GB. [2022-04-28 14:15:10,241 INFO L158 Benchmark]: CDTParser took 0.17ms. Allocated memory is still 188.7MB. Free memory was 156.1MB in the beginning and 156.0MB in the end (delta: 76.2kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-28 14:15:10,241 INFO L158 Benchmark]: CACSL2BoogieTranslator took 226.27ms. Allocated memory is still 188.7MB. Free memory was 139.8MB in the beginning and 164.3MB in the end (delta: -24.5MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-28 14:15:10,241 INFO L158 Benchmark]: Boogie Preprocessor took 34.88ms. Allocated memory is still 188.7MB. Free memory was 164.3MB in the beginning and 162.7MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-28 14:15:10,242 INFO L158 Benchmark]: RCFGBuilder took 252.04ms. Allocated memory is still 188.7MB. Free memory was 162.7MB in the beginning and 151.5MB in the end (delta: 11.3MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-28 14:15:10,242 INFO L158 Benchmark]: TraceAbstraction took 163560.74ms. Allocated memory was 188.7MB in the beginning and 229.6MB in the end (delta: 40.9MB). Free memory was 150.9MB in the beginning and 87.1MB in the end (delta: 63.8MB). Peak memory consumption was 106.0MB. Max. memory is 8.0GB. [2022-04-28 14:15:10,243 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.17ms. Allocated memory is still 188.7MB. Free memory was 156.1MB in the beginning and 156.0MB in the end (delta: 76.2kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 226.27ms. Allocated memory is still 188.7MB. Free memory was 139.8MB in the beginning and 164.3MB in the end (delta: -24.5MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * Boogie Preprocessor took 34.88ms. Allocated memory is still 188.7MB. Free memory was 164.3MB in the beginning and 162.7MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 252.04ms. Allocated memory is still 188.7MB. Free memory was 162.7MB in the beginning and 151.5MB in the end (delta: 11.3MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 163560.74ms. Allocated memory was 188.7MB in the beginning and 229.6MB in the end (delta: 40.9MB). Free memory was 150.9MB in the beginning and 87.1MB in the end (delta: 63.8MB). Peak memory consumption was 106.0MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 15]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 35 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 163.5s, OverallIterations: 8, TraceHistogramMax: 3, PathProgramHistogramMax: 4, EmptinessCheckTime: 0.0s, AutomataDifference: 8.3s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 9.9s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 1 mSolverCounterUnknown, 116 SdHoareTripleChecker+Valid, 3.3s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 105 mSDsluCounter, 815 SdHoareTripleChecker+Invalid, 3.3s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 621 mSDsCounter, 38 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 678 IncrementalHoareTripleChecker+Invalid, 717 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 38 mSolverCounterUnsat, 194 mSDtfsCounter, 678 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 501 GetRequests, 406 SyntacticMatches, 10 SemanticMatches, 85 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 247 ImplicationChecksByTransitivity, 2.3s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=53occurred in iteration=5, InterpolantAutomatonStates: 61, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.3s AutomataMinimizationTime, 8 MinimizatonAttempts, 9 StatesRemovedByMinimization, 4 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 32 LocationsWithAnnotation, 114 PreInvPairs, 163 NumberOfFragments, 464 HoareAnnotationTreeSize, 114 FomulaSimplifications, 123 FormulaSimplificationTreeSizeReduction, 0.1s HoareSimplificationTime, 32 FomulaSimplificationsInter, 769 FormulaSimplificationTreeSizeReductionInter, 9.7s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: No data available, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 34]: Loop Invariant Derived loop invariant: (((((z + y * x == b * a && y <= 2) && b == y) && 1 <= y) && a == x) || (((((1 <= (y + 1) % 2 && z + y * x == b * a) && b <= 2) && 1 <= b) && 0 <= y + 1) && y <= 1)) || (((((z == 0 && y == b / 2) && b <= 2) && a * 2 == x) && !(b % 2 == 1)) && 1 <= b) - ProcedureContractResult [Line: 9]: Procedure Contract for assume_abort_if_not Derived contract for procedure assume_abort_if_not: !(\old(cond) == 0) && cond == \old(cond) - ProcedureContractResult [Line: 20]: Procedure Contract for main Derived contract for procedure main: 1 - ProcedureContractResult [Line: 12]: Procedure Contract for __VERIFIER_assert Derived contract for procedure __VERIFIER_assert: \old(cond) == cond || !(1 <= \old(cond)) RESULT: Ultimate proved your program to be correct! [2022-04-28 14:15:10,272 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Ended with exit code 0 Received shutdown request...