/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_valuebound10.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 14:09:50,093 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 14:09:50,094 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 14:09:50,127 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 14:09:50,127 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 14:09:50,128 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 14:09:50,129 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 14:09:50,130 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 14:09:50,140 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 14:09:50,140 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 14:09:50,144 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 14:09:50,147 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 14:09:50,147 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 14:09:50,148 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 14:09:50,148 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 14:09:50,149 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 14:09:50,149 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 14:09:50,150 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 14:09:50,151 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 14:09:50,152 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 14:09:50,153 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 14:09:50,161 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 14:09:50,163 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 14:09:50,165 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 14:09:50,167 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 14:09:50,171 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 14:09:50,171 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 14:09:50,171 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 14:09:50,172 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 14:09:50,172 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 14:09:50,173 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 14:09:50,173 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 14:09:50,173 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 14:09:50,174 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 14:09:50,174 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 14:09:50,175 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 14:09:50,175 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 14:09:50,175 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 14:09:50,175 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 14:09:50,176 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 14:09:50,176 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 14:09:50,182 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 14:09:50,183 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:09:50,191 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 14:09:50,192 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 14:09:50,192 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 14:09:50,193 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 14:09:50,193 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 14:09:50,193 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 14:09:50,193 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 14:09:50,193 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 14:09:50,193 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 14:09:50,194 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 14:09:50,194 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 14:09:50,194 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 14:09:50,194 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 14:09:50,194 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 14:09:50,194 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 14:09:50,194 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 14:09:50,194 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 14:09:50,195 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 14:09:50,195 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 14:09:50,195 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 14:09:50,195 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 14:09:50,195 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 14:09:50,195 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:09:50,389 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 14:09:50,413 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 14:09:50,415 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 14:09:50,416 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 14:09:50,417 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 14:09:50,418 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound10.c [2022-04-28 14:09:50,457 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d8b3927d3/cb8ff9e1310e4de7954b4280d89bcbc8/FLAGb8f14d956 [2022-04-28 14:09:50,810 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 14:09:50,811 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound10.c [2022-04-28 14:09:50,814 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d8b3927d3/cb8ff9e1310e4de7954b4280d89bcbc8/FLAGb8f14d956 [2022-04-28 14:09:50,827 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d8b3927d3/cb8ff9e1310e4de7954b4280d89bcbc8 [2022-04-28 14:09:50,828 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 14:09:50,829 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 14:09:50,830 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 14:09:50,830 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 14:09:50,832 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 14:09:50,833 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 02:09:50" (1/1) ... [2022-04-28 14:09:50,833 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2d3dcf55 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:09:50, skipping insertion in model container [2022-04-28 14:09:50,833 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 02:09:50" (1/1) ... [2022-04-28 14:09:50,838 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 14:09:50,847 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 14:09:50,984 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_valuebound10.c[537,550] [2022-04-28 14:09:50,995 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 14:09:51,000 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 14:09:51,007 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_valuebound10.c[537,550] [2022-04-28 14:09:51,011 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 14:09:51,019 INFO L208 MainTranslator]: Completed translation [2022-04-28 14:09:51,020 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:09:51 WrapperNode [2022-04-28 14:09:51,020 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 14:09:51,020 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 14:09:51,020 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 14:09:51,020 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 14:09:51,027 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:09:51" (1/1) ... [2022-04-28 14:09:51,027 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:09:51" (1/1) ... [2022-04-28 14:09:51,031 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:09:51" (1/1) ... [2022-04-28 14:09:51,031 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:09:51" (1/1) ... [2022-04-28 14:09:51,034 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:09:51" (1/1) ... [2022-04-28 14:09:51,036 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:09:51" (1/1) ... [2022-04-28 14:09:51,037 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:09:51" (1/1) ... [2022-04-28 14:09:51,038 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 14:09:51,039 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 14:09:51,039 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 14:09:51,039 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 14:09:51,040 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:09:51" (1/1) ... [2022-04-28 14:09:51,053 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 14:09:51,060 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:09:51,068 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:09:51,074 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:09:51,094 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 14:09:51,095 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 14:09:51,095 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 14:09:51,095 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 14:09:51,095 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 14:09:51,096 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 14:09:51,096 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 14:09:51,096 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 14:09:51,096 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 14:09:51,096 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 14:09:51,096 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 14:09:51,096 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 14:09:51,096 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 14:09:51,096 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 14:09:51,097 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 14:09:51,098 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 14:09:51,099 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 14:09:51,099 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 14:09:51,099 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 14:09:51,100 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 14:09:51,168 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 14:09:51,169 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 14:09:51,348 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 14:09:51,359 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 14:09:51,359 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 14:09:51,360 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 02:09:51 BoogieIcfgContainer [2022-04-28 14:09:51,361 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 14:09:51,362 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 14:09:51,362 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 14:09:51,364 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 14:09:51,365 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 02:09:50" (1/3) ... [2022-04-28 14:09:51,365 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6c63bd78 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 02:09:51, skipping insertion in model container [2022-04-28 14:09:51,365 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:09:51" (2/3) ... [2022-04-28 14:09:51,365 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6c63bd78 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 02:09:51, skipping insertion in model container [2022-04-28 14:09:51,365 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 02:09:51" (3/3) ... [2022-04-28 14:09:51,366 INFO L111 eAbstractionObserver]: Analyzing ICFG prodbin-ll_valuebound10.c [2022-04-28 14:09:51,374 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 14:09:51,375 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 14:09:51,415 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 14:09:51,421 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@4ecfbf67, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@2b848654 [2022-04-28 14:09:51,421 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 14:09:51,437 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:09:51,441 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 14:09:51,442 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:09:51,442 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:09:51,442 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:09:51,445 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:09:51,445 INFO L85 PathProgramCache]: Analyzing trace with hash -589322634, now seen corresponding path program 1 times [2022-04-28 14:09:51,452 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:09:51,452 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1449521564] [2022-04-28 14:09:51,461 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:09:51,461 INFO L85 PathProgramCache]: Analyzing trace with hash -589322634, now seen corresponding path program 2 times [2022-04-28 14:09:51,463 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:09:51,463 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [739048026] [2022-04-28 14:09:51,463 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:09:51,464 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:09:51,552 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:09:51,600 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 14:09:51,609 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:09:51,622 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:09:51,623 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-28 14:09:51,623 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-28 14:09:51,624 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 14:09:51,626 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:09:51,642 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 14:09:51,643 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 14:09:51,643 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 14:09:51,644 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-28 14:09:51,644 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 14:09:51,645 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:09:51,650 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 14:09:51,652 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 14:09:51,652 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 14:09:51,652 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-28 14:09:51,652 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 14:09:51,653 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:09:51,659 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 14:09:51,659 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 14:09:51,659 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 14:09:51,659 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-28 14:09:51,661 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:09:51,661 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:09:51,661 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-28 14:09:51,662 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-28 14:09:51,662 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret6 := main(); {35#true} is VALID [2022-04-28 14:09:51,663 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:09:51,663 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {35#true} is VALID [2022-04-28 14:09:51,663 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 14:09:51,663 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 14:09:51,664 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 14:09:51,664 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-28 14:09:51,664 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:09:51,664 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {35#true} is VALID [2022-04-28 14:09:51,664 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 14:09:51,665 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 14:09:51,665 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 14:09:51,665 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-28 14:09:51,665 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:09:51,665 INFO L290 TraceCheckUtils]: 18: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 14:09:51,666 INFO L290 TraceCheckUtils]: 19: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 14:09:51,666 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 14:09:51,666 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-28 14:09:51,666 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:09:51,667 INFO L290 TraceCheckUtils]: 23: Hoare triple {36#false} assume false; {36#false} is VALID [2022-04-28 14:09:51,667 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:09:51,668 INFO L290 TraceCheckUtils]: 25: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-28 14:09:51,668 INFO L290 TraceCheckUtils]: 26: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-28 14:09:51,668 INFO L290 TraceCheckUtils]: 27: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-28 14:09:51,668 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:09:51,669 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:09:51,669 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [739048026] [2022-04-28 14:09:51,670 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [739048026] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:09:51,670 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:09:51,670 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 14:09:51,672 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:09:51,672 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1449521564] [2022-04-28 14:09:51,672 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1449521564] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:09:51,672 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:09:51,672 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 14:09:51,673 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1028925115] [2022-04-28 14:09:51,673 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:09:51,677 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:09:51,678 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:09:51,680 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:09:51,711 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:09:51,711 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 14:09:51,711 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:09:51,726 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 14:09:51,727 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 14:09:51,729 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:09:51,834 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:09:51,834 INFO L93 Difference]: Finished difference Result 57 states and 77 transitions. [2022-04-28 14:09:51,834 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 14:09:51,835 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:09:51,835 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:09:51,836 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:09:51,840 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-28 14:09:51,841 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:09:51,844 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-28 14:09:51,844 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 77 transitions. [2022-04-28 14:09:51,911 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:09:51,917 INFO L225 Difference]: With dead ends: 57 [2022-04-28 14:09:51,917 INFO L226 Difference]: Without dead ends: 27 [2022-04-28 14:09:51,919 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:09:51,921 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:09:51,921 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:09:51,931 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-28 14:09:51,940 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-28 14:09:51,941 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:09:51,941 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:09:51,942 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:09:51,942 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:09:51,944 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:09:51,945 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-28 14:09:51,945 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 14:09:51,945 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:09:51,945 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:09:51,945 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:09:51,946 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:09:51,948 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:09:51,948 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-28 14:09:51,948 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 14:09:51,948 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:09:51,948 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:09:51,948 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:09:51,949 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:09:51,949 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:09:51,950 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 31 transitions. [2022-04-28 14:09:51,951 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 31 transitions. Word has length 28 [2022-04-28 14:09:51,959 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:09:51,959 INFO L495 AbstractCegarLoop]: Abstraction has 27 states and 31 transitions. [2022-04-28 14:09:51,960 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:09:51,960 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 31 transitions. [2022-04-28 14:09:51,989 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:09:51,989 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 14:09:51,990 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 14:09:51,990 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:09:51,990 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:09:51,990 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 14:09:51,990 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:09:51,991 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:09:51,991 INFO L85 PathProgramCache]: Analyzing trace with hash -1736242504, now seen corresponding path program 1 times [2022-04-28 14:09:51,991 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:09:51,991 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [49752984] [2022-04-28 14:09:51,992 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:09:51,992 INFO L85 PathProgramCache]: Analyzing trace with hash -1736242504, now seen corresponding path program 2 times [2022-04-28 14:09:51,992 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:09:51,992 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1535556590] [2022-04-28 14:09:51,992 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:09:51,992 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:09:52,008 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:09:52,008 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1711119786] [2022-04-28 14:09:52,008 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:09:52,008 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:09:52,009 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:09:52,010 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:09:52,011 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:09:52,047 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 14:09:52,047 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:09:52,048 INFO L263 TraceCheckSpWp]: Trace formula consists of 68 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 14:09:52,057 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:09:52,060 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:09:52,184 INFO L272 TraceCheckUtils]: 0: Hoare triple {277#true} call ULTIMATE.init(); {277#true} is VALID [2022-04-28 14:09:52,184 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:09:52,184 INFO L290 TraceCheckUtils]: 2: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-28 14:09:52,185 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {277#true} {277#true} #71#return; {277#true} is VALID [2022-04-28 14:09:52,185 INFO L272 TraceCheckUtils]: 4: Hoare triple {277#true} call #t~ret6 := main(); {277#true} is VALID [2022-04-28 14:09:52,185 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:09:52,185 INFO L272 TraceCheckUtils]: 6: Hoare triple {277#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {277#true} is VALID [2022-04-28 14:09:52,185 INFO L290 TraceCheckUtils]: 7: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-28 14:09:52,185 INFO L290 TraceCheckUtils]: 8: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-28 14:09:52,186 INFO L290 TraceCheckUtils]: 9: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-28 14:09:52,186 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {277#true} {277#true} #61#return; {277#true} is VALID [2022-04-28 14:09:52,186 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:09:52,186 INFO L272 TraceCheckUtils]: 12: Hoare triple {277#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {277#true} is VALID [2022-04-28 14:09:52,186 INFO L290 TraceCheckUtils]: 13: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-28 14:09:52,186 INFO L290 TraceCheckUtils]: 14: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-28 14:09:52,187 INFO L290 TraceCheckUtils]: 15: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-28 14:09:52,187 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {277#true} {277#true} #63#return; {277#true} is VALID [2022-04-28 14:09:52,187 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:09:52,187 INFO L290 TraceCheckUtils]: 18: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-28 14:09:52,187 INFO L290 TraceCheckUtils]: 19: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-28 14:09:52,187 INFO L290 TraceCheckUtils]: 20: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-28 14:09:52,188 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {277#true} {277#true} #65#return; {277#true} is VALID [2022-04-28 14:09:52,188 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:09:52,189 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:09:52,189 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:09:52,190 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:09:52,190 INFO L290 TraceCheckUtils]: 26: Hoare triple {359#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {278#false} is VALID [2022-04-28 14:09:52,191 INFO L290 TraceCheckUtils]: 27: Hoare triple {278#false} assume !false; {278#false} is VALID [2022-04-28 14:09:52,191 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:09:52,191 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 14:09:52,191 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:09:52,191 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1535556590] [2022-04-28 14:09:52,192 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:09:52,192 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1711119786] [2022-04-28 14:09:52,192 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1711119786] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:09:52,192 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:09:52,192 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 14:09:52,193 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:09:52,193 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [49752984] [2022-04-28 14:09:52,193 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [49752984] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:09:52,193 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:09:52,193 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 14:09:52,193 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1717852217] [2022-04-28 14:09:52,193 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:09:52,194 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:09:52,194 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:09:52,194 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:09:52,211 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:09:52,211 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 14:09:52,211 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:09:52,211 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 14:09:52,211 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 14:09:52,212 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:09:52,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:09:52,328 INFO L93 Difference]: Finished difference Result 39 states and 45 transitions. [2022-04-28 14:09:52,329 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 14:09:52,329 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:09:52,329 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:09:52,329 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:09:52,331 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-28 14:09:52,331 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:09:52,332 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-28 14:09:52,332 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 45 transitions. [2022-04-28 14:09:52,364 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:09:52,366 INFO L225 Difference]: With dead ends: 39 [2022-04-28 14:09:52,366 INFO L226 Difference]: Without dead ends: 37 [2022-04-28 14:09:52,366 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:09:52,367 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 8 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 43 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 87 SdHoareTripleChecker+Invalid, 43 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 43 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 14:09:52,367 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 87 Invalid, 43 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 43 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 14:09:52,368 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-04-28 14:09:52,375 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 33. [2022-04-28 14:09:52,375 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:09:52,376 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:09:52,376 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:09:52,376 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:09:52,378 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:09:52,378 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-28 14:09:52,378 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-28 14:09:52,379 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:09:52,379 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:09:52,379 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:09:52,379 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:09:52,381 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:09:52,381 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-28 14:09:52,381 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-28 14:09:52,381 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:09:52,382 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:09:52,382 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:09:52,382 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:09:52,382 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:09:52,383 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 37 transitions. [2022-04-28 14:09:52,383 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 37 transitions. Word has length 28 [2022-04-28 14:09:52,384 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:09:52,384 INFO L495 AbstractCegarLoop]: Abstraction has 33 states and 37 transitions. [2022-04-28 14:09:52,384 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:09:52,384 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 37 transitions. [2022-04-28 14:09:52,427 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:09:52,427 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2022-04-28 14:09:52,428 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-28 14:09:52,428 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:09:52,428 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:09:52,446 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 14:09:52,646 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:09:52,647 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:09:52,647 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:09:52,647 INFO L85 PathProgramCache]: Analyzing trace with hash 1911690432, now seen corresponding path program 1 times [2022-04-28 14:09:52,647 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:09:52,648 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1769712943] [2022-04-28 14:09:52,648 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:09:52,648 INFO L85 PathProgramCache]: Analyzing trace with hash 1911690432, now seen corresponding path program 2 times [2022-04-28 14:09:52,648 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:09:52,648 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1424395940] [2022-04-28 14:09:52,648 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:09:52,649 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:09:52,665 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:09:52,665 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [115840715] [2022-04-28 14:09:52,665 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:09:52,665 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:09:52,665 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:09:52,666 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:09:52,667 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:09:52,700 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:09:52,701 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:09:52,701 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 14:09:52,709 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:09:52,709 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:09:52,804 INFO L272 TraceCheckUtils]: 0: Hoare triple {585#true} call ULTIMATE.init(); {585#true} is VALID [2022-04-28 14:09:52,804 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:09:52,805 INFO L290 TraceCheckUtils]: 2: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-28 14:09:52,805 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {585#true} {585#true} #71#return; {585#true} is VALID [2022-04-28 14:09:52,805 INFO L272 TraceCheckUtils]: 4: Hoare triple {585#true} call #t~ret6 := main(); {585#true} is VALID [2022-04-28 14:09:52,805 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:09:52,805 INFO L272 TraceCheckUtils]: 6: Hoare triple {585#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {585#true} is VALID [2022-04-28 14:09:52,805 INFO L290 TraceCheckUtils]: 7: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-28 14:09:52,805 INFO L290 TraceCheckUtils]: 8: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-28 14:09:52,805 INFO L290 TraceCheckUtils]: 9: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-28 14:09:52,806 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {585#true} {585#true} #61#return; {585#true} is VALID [2022-04-28 14:09:52,806 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:09:52,806 INFO L272 TraceCheckUtils]: 12: Hoare triple {585#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {585#true} is VALID [2022-04-28 14:09:52,806 INFO L290 TraceCheckUtils]: 13: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-28 14:09:52,806 INFO L290 TraceCheckUtils]: 14: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-28 14:09:52,806 INFO L290 TraceCheckUtils]: 15: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-28 14:09:52,806 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {585#true} {585#true} #63#return; {585#true} is VALID [2022-04-28 14:09:52,806 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:09:52,807 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:09:52,807 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:09:52,807 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:09:52,808 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:09:52,808 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:09:52,809 INFO L290 TraceCheckUtils]: 23: Hoare triple {659#(<= 1 main_~y~0)} assume !false; {659#(<= 1 main_~y~0)} is VALID [2022-04-28 14:09:52,809 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:09:52,809 INFO L290 TraceCheckUtils]: 25: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-28 14:09:52,809 INFO L290 TraceCheckUtils]: 26: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-28 14:09:52,809 INFO L290 TraceCheckUtils]: 27: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-28 14:09:52,810 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:09:52,810 INFO L290 TraceCheckUtils]: 29: Hoare triple {659#(<= 1 main_~y~0)} assume !(0 != ~y~0); {586#false} is VALID [2022-04-28 14:09:52,810 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:09:52,810 INFO L290 TraceCheckUtils]: 31: Hoare triple {586#false} ~cond := #in~cond; {586#false} is VALID [2022-04-28 14:09:52,810 INFO L290 TraceCheckUtils]: 32: Hoare triple {586#false} assume 0 == ~cond; {586#false} is VALID [2022-04-28 14:09:52,810 INFO L290 TraceCheckUtils]: 33: Hoare triple {586#false} assume !false; {586#false} is VALID [2022-04-28 14:09:52,811 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:09:52,811 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 14:09:52,811 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:09:52,811 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1424395940] [2022-04-28 14:09:52,811 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:09:52,811 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [115840715] [2022-04-28 14:09:52,811 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [115840715] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:09:52,811 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:09:52,811 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 14:09:52,812 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:09:52,812 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1769712943] [2022-04-28 14:09:52,812 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1769712943] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:09:52,812 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:09:52,812 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 14:09:52,812 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [9603049] [2022-04-28 14:09:52,812 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:09:52,812 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:09:52,813 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:09:52,813 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:09:52,833 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:09:52,834 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 14:09:52,834 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:09:52,835 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 14:09:52,835 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 14:09:52,836 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:09:53,037 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:09:53,037 INFO L93 Difference]: Finished difference Result 43 states and 48 transitions. [2022-04-28 14:09:53,038 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 14:09:53,038 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:09:53,038 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:09:53,038 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:09:53,039 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-28 14:09:53,040 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:09:53,041 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-28 14:09:53,041 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 45 transitions. [2022-04-28 14:09:53,076 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:09:53,078 INFO L225 Difference]: With dead ends: 43 [2022-04-28 14:09:53,080 INFO L226 Difference]: Without dead ends: 36 [2022-04-28 14:09:53,080 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:09:53,083 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 14 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 58 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-28 14:09:53,084 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.1s Time] [2022-04-28 14:09:53,084 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-28 14:09:53,101 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 34. [2022-04-28 14:09:53,101 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:09:53,101 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:09:53,103 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:09:53,103 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:09:53,105 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:09:53,105 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-28 14:09:53,105 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-28 14:09:53,105 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:09:53,105 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:09:53,106 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:09:53,106 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:09:53,107 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:09:53,107 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-28 14:09:53,107 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-28 14:09:53,108 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:09:53,108 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:09:53,108 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:09:53,108 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:09:53,108 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:09:53,109 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 38 transitions. [2022-04-28 14:09:53,109 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 38 transitions. Word has length 34 [2022-04-28 14:09:53,109 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:09:53,109 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 38 transitions. [2022-04-28 14:09:53,109 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:09:53,110 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 38 transitions. [2022-04-28 14:09:53,153 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:09:53,153 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2022-04-28 14:09:53,155 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-28 14:09:53,155 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:09:53,155 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:09:53,185 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-28 14:09:53,369 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:09:53,370 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:09:53,370 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:09:53,370 INFO L85 PathProgramCache]: Analyzing trace with hash 2022075506, now seen corresponding path program 1 times [2022-04-28 14:09:53,370 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:09:53,370 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [112136694] [2022-04-28 14:09:53,371 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:09:53,371 INFO L85 PathProgramCache]: Analyzing trace with hash 2022075506, now seen corresponding path program 2 times [2022-04-28 14:09:53,371 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:09:53,371 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [778619751] [2022-04-28 14:09:53,371 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:09:53,371 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:09:53,397 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:09:53,397 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1684360821] [2022-04-28 14:09:53,397 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:09:53,397 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:09:53,397 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:09:53,409 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:09:53,409 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:09:53,447 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:09:53,447 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:09:53,448 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-28 14:09:53,458 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:09:53,459 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:09:55,645 INFO L272 TraceCheckUtils]: 0: Hoare triple {922#true} call ULTIMATE.init(); {922#true} is VALID [2022-04-28 14:09:55,645 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:09:55,645 INFO L290 TraceCheckUtils]: 2: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:09:55,646 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {922#true} {922#true} #71#return; {922#true} is VALID [2022-04-28 14:09:55,646 INFO L272 TraceCheckUtils]: 4: Hoare triple {922#true} call #t~ret6 := main(); {922#true} is VALID [2022-04-28 14:09:55,646 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:09:55,646 INFO L272 TraceCheckUtils]: 6: Hoare triple {922#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {922#true} is VALID [2022-04-28 14:09:55,646 INFO L290 TraceCheckUtils]: 7: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 14:09:55,646 INFO L290 TraceCheckUtils]: 8: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 14:09:55,646 INFO L290 TraceCheckUtils]: 9: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:09:55,646 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {922#true} {922#true} #61#return; {922#true} is VALID [2022-04-28 14:09:55,646 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:09:55,647 INFO L272 TraceCheckUtils]: 12: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {922#true} is VALID [2022-04-28 14:09:55,647 INFO L290 TraceCheckUtils]: 13: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 14:09:55,647 INFO L290 TraceCheckUtils]: 14: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 14:09:55,647 INFO L290 TraceCheckUtils]: 15: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:09:55,647 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {922#true} {922#true} #63#return; {922#true} is VALID [2022-04-28 14:09:55,647 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:09:55,647 INFO L290 TraceCheckUtils]: 18: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 14:09:55,647 INFO L290 TraceCheckUtils]: 19: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 14:09:55,647 INFO L290 TraceCheckUtils]: 20: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:09:55,647 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {922#true} {922#true} #65#return; {922#true} is VALID [2022-04-28 14:09:55,649 INFO L290 TraceCheckUtils]: 22: Hoare triple {922#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:09:55,650 INFO L290 TraceCheckUtils]: 23: Hoare triple {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:09:55,650 INFO L272 TraceCheckUtils]: 24: Hoare triple {993#(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)); {922#true} is VALID [2022-04-28 14:09:55,650 INFO L290 TraceCheckUtils]: 25: Hoare triple {922#true} ~cond := #in~cond; {1003#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:09:55,651 INFO L290 TraceCheckUtils]: 26: Hoare triple {1003#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:09:55,651 INFO L290 TraceCheckUtils]: 27: Hoare triple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:09:55,652 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #67#return; {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:09:55,652 INFO L290 TraceCheckUtils]: 29: Hoare triple {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {1017#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:09:55,653 INFO L290 TraceCheckUtils]: 30: Hoare triple {1017#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {1021#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:09:55,658 INFO L290 TraceCheckUtils]: 31: Hoare triple {1021#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1025#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:09:55,659 INFO L290 TraceCheckUtils]: 32: Hoare triple {1025#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {1025#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:09:56,218 INFO L272 TraceCheckUtils]: 33: Hoare triple {1025#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1032#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:09:56,219 INFO L290 TraceCheckUtils]: 34: Hoare triple {1032#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1036#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:09:56,219 INFO L290 TraceCheckUtils]: 35: Hoare triple {1036#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {923#false} is VALID [2022-04-28 14:09:56,219 INFO L290 TraceCheckUtils]: 36: Hoare triple {923#false} assume !false; {923#false} is VALID [2022-04-28 14:09:56,219 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 1 proven. 3 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 14:09:56,219 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:10:58,377 INFO L290 TraceCheckUtils]: 36: Hoare triple {923#false} assume !false; {923#false} is VALID [2022-04-28 14:10:58,377 INFO L290 TraceCheckUtils]: 35: Hoare triple {1036#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {923#false} is VALID [2022-04-28 14:10:58,378 INFO L290 TraceCheckUtils]: 34: Hoare triple {1032#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1036#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:10:58,379 INFO L272 TraceCheckUtils]: 33: Hoare triple {1052#(= (+ 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)); {1032#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:10:58,379 INFO L290 TraceCheckUtils]: 32: Hoare triple {1052#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {1052#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:10:58,385 INFO L290 TraceCheckUtils]: 31: Hoare triple {1059#(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); {1052#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:10:58,388 INFO L290 TraceCheckUtils]: 30: Hoare triple {1063#(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; {1059#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 14:10:58,388 INFO L290 TraceCheckUtils]: 29: Hoare triple {1063#(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); {1063#(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:10:58,609 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} {922#true} #67#return; {1063#(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:10:58,609 INFO L290 TraceCheckUtils]: 27: Hoare triple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:10:58,610 INFO L290 TraceCheckUtils]: 26: Hoare triple {1079#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:10:58,610 INFO L290 TraceCheckUtils]: 25: Hoare triple {922#true} ~cond := #in~cond; {1079#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:10:58,610 INFO L272 TraceCheckUtils]: 24: Hoare triple {922#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {922#true} is VALID [2022-04-28 14:10:58,610 INFO L290 TraceCheckUtils]: 23: Hoare triple {922#true} assume !false; {922#true} is VALID [2022-04-28 14:10:58,611 INFO L290 TraceCheckUtils]: 22: Hoare triple {922#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {922#true} is VALID [2022-04-28 14:10:58,611 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {922#true} {922#true} #65#return; {922#true} is VALID [2022-04-28 14:10:58,611 INFO L290 TraceCheckUtils]: 20: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:10:58,611 INFO L290 TraceCheckUtils]: 19: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 14:10:58,611 INFO L290 TraceCheckUtils]: 18: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 14:10:58,611 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:10:58,611 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {922#true} {922#true} #63#return; {922#true} is VALID [2022-04-28 14:10:58,611 INFO L290 TraceCheckUtils]: 15: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:10:58,611 INFO L290 TraceCheckUtils]: 14: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 14:10:58,611 INFO L290 TraceCheckUtils]: 13: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 14:10:58,612 INFO L272 TraceCheckUtils]: 12: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {922#true} is VALID [2022-04-28 14:10:58,612 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:10:58,612 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {922#true} {922#true} #61#return; {922#true} is VALID [2022-04-28 14:10:58,612 INFO L290 TraceCheckUtils]: 9: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:10:58,612 INFO L290 TraceCheckUtils]: 8: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 14:10:58,612 INFO L290 TraceCheckUtils]: 7: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 14:10:58,612 INFO L272 TraceCheckUtils]: 6: Hoare triple {922#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {922#true} is VALID [2022-04-28 14:10:58,612 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:10:58,612 INFO L272 TraceCheckUtils]: 4: Hoare triple {922#true} call #t~ret6 := main(); {922#true} is VALID [2022-04-28 14:10:58,612 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {922#true} {922#true} #71#return; {922#true} is VALID [2022-04-28 14:10:58,612 INFO L290 TraceCheckUtils]: 2: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:10:58,613 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:10:58,613 INFO L272 TraceCheckUtils]: 0: Hoare triple {922#true} call ULTIMATE.init(); {922#true} is VALID [2022-04-28 14:10:58,613 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 14:10:58,613 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:10:58,613 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [778619751] [2022-04-28 14:10:58,613 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:10:58,613 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1684360821] [2022-04-28 14:10:58,613 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1684360821] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:10:58,613 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:10:58,613 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 14 [2022-04-28 14:10:58,614 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:10:58,614 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [112136694] [2022-04-28 14:10:58,614 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [112136694] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:10:58,614 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:10:58,614 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 14:10:58,614 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1643914514] [2022-04-28 14:10:58,614 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:10:58,614 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-28 14:10:58,615 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:10:58,615 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:10:58,947 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:10:58,947 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 14:10:58,948 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:10:58,948 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 14:10:58,948 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=142, Unknown=2, NotChecked=0, Total=182 [2022-04-28 14:10:58,948 INFO L87 Difference]: Start difference. First operand 34 states and 38 transitions. Second operand has 10 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:11:04,840 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.59s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:11:05,633 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:11:05,633 INFO L93 Difference]: Finished difference Result 49 states and 56 transitions. [2022-04-28 14:11:05,633 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 14:11:05,633 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-28 14:11:05,634 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:11:05,634 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:11:05,635 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 53 transitions. [2022-04-28 14:11:05,635 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:11:05,636 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 53 transitions. [2022-04-28 14:11:05,636 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 53 transitions. [2022-04-28 14:11:06,097 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:11:06,098 INFO L225 Difference]: With dead ends: 49 [2022-04-28 14:11:06,098 INFO L226 Difference]: Without dead ends: 47 [2022-04-28 14:11:06,098 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 58 SyntacticMatches, 3 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 8.9s TimeCoverageRelationStatistics Valid=51, Invalid=187, Unknown=2, NotChecked=0, Total=240 [2022-04-28 14:11:06,099 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 18 mSDsluCounter, 105 mSDsCounter, 0 mSdLazyCounter, 137 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 140 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 137 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.5s IncrementalHoareTripleChecker+Time [2022-04-28 14:11:06,099 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 129 Invalid, 140 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 137 Invalid, 0 Unknown, 0 Unchecked, 3.5s Time] [2022-04-28 14:11:06,100 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-28 14:11:06,125 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 42. [2022-04-28 14:11:06,125 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:11:06,125 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:11:06,125 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:11:06,125 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:11:06,132 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:11:06,133 INFO L93 Difference]: Finished difference Result 47 states and 54 transitions. [2022-04-28 14:11:06,133 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 54 transitions. [2022-04-28 14:11:06,134 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:11:06,134 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:11:06,134 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 47 states. [2022-04-28 14:11:06,135 INFO L87 Difference]: Start difference. First operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 47 states. [2022-04-28 14:11:06,137 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:11:06,137 INFO L93 Difference]: Finished difference Result 47 states and 54 transitions. [2022-04-28 14:11:06,137 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 54 transitions. [2022-04-28 14:11:06,137 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:11:06,137 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:11:06,137 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:11:06,138 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:11:06,138 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:11:06,139 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 47 transitions. [2022-04-28 14:11:06,140 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 47 transitions. Word has length 37 [2022-04-28 14:11:06,140 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:11:06,140 INFO L495 AbstractCegarLoop]: Abstraction has 42 states and 47 transitions. [2022-04-28 14:11:06,140 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:11:06,140 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 47 transitions. [2022-04-28 14:11:08,210 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 46 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 14:11:08,210 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 47 transitions. [2022-04-28 14:11:08,212 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-28 14:11:08,212 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:11:08,212 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:11:08,228 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:11:08,420 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:11:08,420 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:11:08,420 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:11:08,420 INFO L85 PathProgramCache]: Analyzing trace with hash -497884428, now seen corresponding path program 1 times [2022-04-28 14:11:08,420 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:11:08,420 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1896595421] [2022-04-28 14:11:08,421 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:11:08,421 INFO L85 PathProgramCache]: Analyzing trace with hash -497884428, now seen corresponding path program 2 times [2022-04-28 14:11:08,421 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:11:08,421 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1082906824] [2022-04-28 14:11:08,421 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:11:08,421 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:11:08,443 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:11:08,443 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [485724218] [2022-04-28 14:11:08,443 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:11:08,443 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:11:08,443 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:11:08,451 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:11:08,454 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:11:08,485 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:11:08,485 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:11:08,486 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-28 14:11:08,495 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:11:08,496 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:11:10,211 INFO L272 TraceCheckUtils]: 0: Hoare triple {1437#true} call ULTIMATE.init(); {1437#true} is VALID [2022-04-28 14:11:10,212 INFO L290 TraceCheckUtils]: 1: Hoare triple {1437#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); {1437#true} is VALID [2022-04-28 14:11:10,212 INFO L290 TraceCheckUtils]: 2: Hoare triple {1437#true} assume true; {1437#true} is VALID [2022-04-28 14:11:10,212 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1437#true} {1437#true} #71#return; {1437#true} is VALID [2022-04-28 14:11:10,212 INFO L272 TraceCheckUtils]: 4: Hoare triple {1437#true} call #t~ret6 := main(); {1437#true} is VALID [2022-04-28 14:11:10,212 INFO L290 TraceCheckUtils]: 5: Hoare triple {1437#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; {1437#true} is VALID [2022-04-28 14:11:10,212 INFO L272 TraceCheckUtils]: 6: Hoare triple {1437#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {1437#true} is VALID [2022-04-28 14:11:10,212 INFO L290 TraceCheckUtils]: 7: Hoare triple {1437#true} ~cond := #in~cond; {1437#true} is VALID [2022-04-28 14:11:10,212 INFO L290 TraceCheckUtils]: 8: Hoare triple {1437#true} assume !(0 == ~cond); {1437#true} is VALID [2022-04-28 14:11:10,212 INFO L290 TraceCheckUtils]: 9: Hoare triple {1437#true} assume true; {1437#true} is VALID [2022-04-28 14:11:10,212 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1437#true} {1437#true} #61#return; {1437#true} is VALID [2022-04-28 14:11:10,213 INFO L290 TraceCheckUtils]: 11: Hoare triple {1437#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1437#true} is VALID [2022-04-28 14:11:10,213 INFO L272 TraceCheckUtils]: 12: Hoare triple {1437#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {1437#true} is VALID [2022-04-28 14:11:10,213 INFO L290 TraceCheckUtils]: 13: Hoare triple {1437#true} ~cond := #in~cond; {1437#true} is VALID [2022-04-28 14:11:10,213 INFO L290 TraceCheckUtils]: 14: Hoare triple {1437#true} assume !(0 == ~cond); {1437#true} is VALID [2022-04-28 14:11:10,213 INFO L290 TraceCheckUtils]: 15: Hoare triple {1437#true} assume true; {1437#true} is VALID [2022-04-28 14:11:10,213 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1437#true} {1437#true} #63#return; {1437#true} is VALID [2022-04-28 14:11:10,213 INFO L272 TraceCheckUtils]: 17: Hoare triple {1437#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1437#true} is VALID [2022-04-28 14:11:10,213 INFO L290 TraceCheckUtils]: 18: Hoare triple {1437#true} ~cond := #in~cond; {1496#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:11:10,214 INFO L290 TraceCheckUtils]: 19: Hoare triple {1496#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1500#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:11:10,214 INFO L290 TraceCheckUtils]: 20: Hoare triple {1500#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1500#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:11:10,215 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1500#(not (= |assume_abort_if_not_#in~cond| 0))} {1437#true} #65#return; {1507#(<= 1 main_~b~0)} is VALID [2022-04-28 14:11:10,215 INFO L290 TraceCheckUtils]: 22: Hoare triple {1507#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:11:10,215 INFO L290 TraceCheckUtils]: 23: Hoare triple {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:11:10,215 INFO L272 TraceCheckUtils]: 24: Hoare triple {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1437#true} is VALID [2022-04-28 14:11:10,216 INFO L290 TraceCheckUtils]: 25: Hoare triple {1437#true} ~cond := #in~cond; {1521#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:11:10,216 INFO L290 TraceCheckUtils]: 26: Hoare triple {1521#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1525#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:11:10,216 INFO L290 TraceCheckUtils]: 27: Hoare triple {1525#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1525#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:11:10,217 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1525#(not (= |__VERIFIER_assert_#in~cond| 0))} {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:11:10,217 INFO L290 TraceCheckUtils]: 29: Hoare triple {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:11:10,218 INFO L290 TraceCheckUtils]: 30: Hoare triple {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {1538#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:11:10,219 INFO L290 TraceCheckUtils]: 31: Hoare triple {1538#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1542#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 14:11:10,219 INFO L290 TraceCheckUtils]: 32: Hoare triple {1542#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !false; {1542#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 14:11:10,221 INFO L272 TraceCheckUtils]: 33: Hoare triple {1542#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1549#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:11:10,221 INFO L290 TraceCheckUtils]: 34: Hoare triple {1549#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1553#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:11:10,222 INFO L290 TraceCheckUtils]: 35: Hoare triple {1553#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1438#false} is VALID [2022-04-28 14:11:10,222 INFO L290 TraceCheckUtils]: 36: Hoare triple {1438#false} assume !false; {1438#false} is VALID [2022-04-28 14:11:10,222 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 7 proven. 3 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 14:11:10,222 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:11:38,829 INFO L290 TraceCheckUtils]: 36: Hoare triple {1438#false} assume !false; {1438#false} is VALID [2022-04-28 14:11:38,829 INFO L290 TraceCheckUtils]: 35: Hoare triple {1553#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1438#false} is VALID [2022-04-28 14:11:38,830 INFO L290 TraceCheckUtils]: 34: Hoare triple {1549#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1553#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:11:38,831 INFO L272 TraceCheckUtils]: 33: Hoare triple {1569#(= (+ 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)); {1549#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:11:38,831 INFO L290 TraceCheckUtils]: 32: Hoare triple {1569#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {1569#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:11:38,836 INFO L290 TraceCheckUtils]: 31: Hoare triple {1576#(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); {1569#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:11:38,837 INFO L290 TraceCheckUtils]: 30: Hoare triple {1580#(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)); {1576#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 14:11:38,838 INFO L290 TraceCheckUtils]: 29: Hoare triple {1580#(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); {1580#(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:11:38,840 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1525#(not (= |__VERIFIER_assert_#in~cond| 0))} {1587#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} #67#return; {1580#(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:11:38,840 INFO L290 TraceCheckUtils]: 27: Hoare triple {1525#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1525#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:11:38,840 INFO L290 TraceCheckUtils]: 26: Hoare triple {1597#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1525#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:11:38,841 INFO L290 TraceCheckUtils]: 25: Hoare triple {1437#true} ~cond := #in~cond; {1597#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:11:38,841 INFO L272 TraceCheckUtils]: 24: Hoare triple {1587#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1437#true} is VALID [2022-04-28 14:11:38,843 INFO L290 TraceCheckUtils]: 23: Hoare triple {1587#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} assume !false; {1587#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 14:11:38,843 INFO L290 TraceCheckUtils]: 22: Hoare triple {1607#(or (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1587#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 14:11:38,844 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1500#(not (= |assume_abort_if_not_#in~cond| 0))} {1437#true} #65#return; {1607#(or (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} is VALID [2022-04-28 14:11:38,844 INFO L290 TraceCheckUtils]: 20: Hoare triple {1500#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1500#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:11:38,844 INFO L290 TraceCheckUtils]: 19: Hoare triple {1620#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1500#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:11:38,845 INFO L290 TraceCheckUtils]: 18: Hoare triple {1437#true} ~cond := #in~cond; {1620#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 14:11:38,845 INFO L272 TraceCheckUtils]: 17: Hoare triple {1437#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1437#true} is VALID [2022-04-28 14:11:38,845 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1437#true} {1437#true} #63#return; {1437#true} is VALID [2022-04-28 14:11:38,845 INFO L290 TraceCheckUtils]: 15: Hoare triple {1437#true} assume true; {1437#true} is VALID [2022-04-28 14:11:38,845 INFO L290 TraceCheckUtils]: 14: Hoare triple {1437#true} assume !(0 == ~cond); {1437#true} is VALID [2022-04-28 14:11:38,845 INFO L290 TraceCheckUtils]: 13: Hoare triple {1437#true} ~cond := #in~cond; {1437#true} is VALID [2022-04-28 14:11:38,845 INFO L272 TraceCheckUtils]: 12: Hoare triple {1437#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {1437#true} is VALID [2022-04-28 14:11:38,845 INFO L290 TraceCheckUtils]: 11: Hoare triple {1437#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1437#true} is VALID [2022-04-28 14:11:38,845 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1437#true} {1437#true} #61#return; {1437#true} is VALID [2022-04-28 14:11:38,845 INFO L290 TraceCheckUtils]: 9: Hoare triple {1437#true} assume true; {1437#true} is VALID [2022-04-28 14:11:38,845 INFO L290 TraceCheckUtils]: 8: Hoare triple {1437#true} assume !(0 == ~cond); {1437#true} is VALID [2022-04-28 14:11:38,845 INFO L290 TraceCheckUtils]: 7: Hoare triple {1437#true} ~cond := #in~cond; {1437#true} is VALID [2022-04-28 14:11:38,845 INFO L272 TraceCheckUtils]: 6: Hoare triple {1437#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {1437#true} is VALID [2022-04-28 14:11:38,846 INFO L290 TraceCheckUtils]: 5: Hoare triple {1437#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; {1437#true} is VALID [2022-04-28 14:11:38,846 INFO L272 TraceCheckUtils]: 4: Hoare triple {1437#true} call #t~ret6 := main(); {1437#true} is VALID [2022-04-28 14:11:38,846 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1437#true} {1437#true} #71#return; {1437#true} is VALID [2022-04-28 14:11:38,846 INFO L290 TraceCheckUtils]: 2: Hoare triple {1437#true} assume true; {1437#true} is VALID [2022-04-28 14:11:38,846 INFO L290 TraceCheckUtils]: 1: Hoare triple {1437#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); {1437#true} is VALID [2022-04-28 14:11:38,846 INFO L272 TraceCheckUtils]: 0: Hoare triple {1437#true} call ULTIMATE.init(); {1437#true} is VALID [2022-04-28 14:11:38,846 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 7 proven. 3 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 14:11:38,846 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:11:38,846 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1082906824] [2022-04-28 14:11:38,846 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:11:38,846 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [485724218] [2022-04-28 14:11:38,847 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [485724218] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:11:38,847 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:11:38,847 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 13] total 19 [2022-04-28 14:11:38,847 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:11:38,847 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1896595421] [2022-04-28 14:11:38,847 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1896595421] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:11:38,847 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:11:38,847 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 14:11:38,847 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [698061475] [2022-04-28 14:11:38,847 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:11:38,848 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-28 14:11:38,848 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:11:38,848 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:11:38,871 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:11:38,872 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 14:11:38,872 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:11:38,872 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 14:11:38,872 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=280, Unknown=0, NotChecked=0, Total=342 [2022-04-28 14:11:38,872 INFO L87 Difference]: Start difference. First operand 42 states and 47 transitions. Second operand has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:11:39,411 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:11:39,412 INFO L93 Difference]: Finished difference Result 59 states and 66 transitions. [2022-04-28 14:11:39,412 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 14:11:39,412 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-28 14:11:39,412 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:11:39,412 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:11:39,413 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 56 transitions. [2022-04-28 14:11:39,413 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:11:39,415 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 56 transitions. [2022-04-28 14:11:39,415 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 56 transitions. [2022-04-28 14:11:39,455 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:11:39,457 INFO L225 Difference]: With dead ends: 59 [2022-04-28 14:11:39,457 INFO L226 Difference]: Without dead ends: 52 [2022-04-28 14:11:39,457 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 76 GetRequests, 54 SyntacticMatches, 2 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 76 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=80, Invalid=382, Unknown=0, NotChecked=0, Total=462 [2022-04-28 14:11:39,457 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 26 mSDsluCounter, 118 mSDsCounter, 0 mSdLazyCounter, 204 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 209 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 204 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 14:11:39,458 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [28 Valid, 139 Invalid, 209 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 204 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 14:11:39,458 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-28 14:11:39,487 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 50. [2022-04-28 14:11:39,487 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:11:39,487 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:11:39,487 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:11:39,487 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:11:39,489 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:11:39,489 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2022-04-28 14:11:39,489 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2022-04-28 14:11:39,489 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:11:39,489 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:11:39,489 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 52 states. [2022-04-28 14:11:39,489 INFO L87 Difference]: Start difference. First operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 52 states. [2022-04-28 14:11:39,491 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:11:39,491 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2022-04-28 14:11:39,491 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2022-04-28 14:11:39,491 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:11:39,491 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:11:39,491 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:11:39,491 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:11:39,492 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:11:39,493 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-28 14:11:39,493 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 37 [2022-04-28 14:11:39,493 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:11:39,493 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-28 14:11:39,493 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:11:39,493 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-28 14:11:39,806 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:11:39,807 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-28 14:11:39,807 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 14:11:39,807 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:11:39,807 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:11:39,823 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:11:40,007 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:11:40,008 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:11:40,008 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:11:40,008 INFO L85 PathProgramCache]: Analyzing trace with hash -1351630086, now seen corresponding path program 1 times [2022-04-28 14:11:40,008 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:11:40,008 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1015121644] [2022-04-28 14:11:40,008 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:11:40,008 INFO L85 PathProgramCache]: Analyzing trace with hash -1351630086, now seen corresponding path program 2 times [2022-04-28 14:11:40,009 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:11:40,009 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1825882372] [2022-04-28 14:11:40,009 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:11:40,009 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:11:40,021 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:11:40,022 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [303191851] [2022-04-28 14:11:40,022 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:11:40,022 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:11:40,022 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:11:40,023 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:11:40,023 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:11:40,068 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:11:40,068 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:11:40,069 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 14:11:40,077 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:11:40,078 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:11:47,782 INFO L272 TraceCheckUtils]: 0: Hoare triple {2005#true} call ULTIMATE.init(); {2005#true} is VALID [2022-04-28 14:11:47,783 INFO L290 TraceCheckUtils]: 1: Hoare triple {2005#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); {2005#true} is VALID [2022-04-28 14:11:47,783 INFO L290 TraceCheckUtils]: 2: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-28 14:11:47,783 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2005#true} {2005#true} #71#return; {2005#true} is VALID [2022-04-28 14:11:47,783 INFO L272 TraceCheckUtils]: 4: Hoare triple {2005#true} call #t~ret6 := main(); {2005#true} is VALID [2022-04-28 14:11:47,783 INFO L290 TraceCheckUtils]: 5: Hoare triple {2005#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; {2005#true} is VALID [2022-04-28 14:11:47,783 INFO L272 TraceCheckUtils]: 6: Hoare triple {2005#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {2005#true} is VALID [2022-04-28 14:11:47,783 INFO L290 TraceCheckUtils]: 7: Hoare triple {2005#true} ~cond := #in~cond; {2005#true} is VALID [2022-04-28 14:11:47,783 INFO L290 TraceCheckUtils]: 8: Hoare triple {2005#true} assume !(0 == ~cond); {2005#true} is VALID [2022-04-28 14:11:47,783 INFO L290 TraceCheckUtils]: 9: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-28 14:11:47,783 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2005#true} {2005#true} #61#return; {2005#true} is VALID [2022-04-28 14:11:47,783 INFO L290 TraceCheckUtils]: 11: Hoare triple {2005#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2005#true} is VALID [2022-04-28 14:11:47,783 INFO L272 TraceCheckUtils]: 12: Hoare triple {2005#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {2005#true} is VALID [2022-04-28 14:11:47,783 INFO L290 TraceCheckUtils]: 13: Hoare triple {2005#true} ~cond := #in~cond; {2005#true} is VALID [2022-04-28 14:11:47,784 INFO L290 TraceCheckUtils]: 14: Hoare triple {2005#true} assume !(0 == ~cond); {2005#true} is VALID [2022-04-28 14:11:47,784 INFO L290 TraceCheckUtils]: 15: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-28 14:11:47,784 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2005#true} {2005#true} #63#return; {2005#true} is VALID [2022-04-28 14:11:47,784 INFO L272 TraceCheckUtils]: 17: Hoare triple {2005#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2005#true} is VALID [2022-04-28 14:11:47,784 INFO L290 TraceCheckUtils]: 18: Hoare triple {2005#true} ~cond := #in~cond; {2005#true} is VALID [2022-04-28 14:11:47,784 INFO L290 TraceCheckUtils]: 19: Hoare triple {2005#true} assume !(0 == ~cond); {2005#true} is VALID [2022-04-28 14:11:47,784 INFO L290 TraceCheckUtils]: 20: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-28 14:11:47,784 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2005#true} {2005#true} #65#return; {2005#true} is VALID [2022-04-28 14:11:47,784 INFO L290 TraceCheckUtils]: 22: Hoare triple {2005#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2005#true} is VALID [2022-04-28 14:11:47,784 INFO L290 TraceCheckUtils]: 23: Hoare triple {2005#true} assume !false; {2005#true} is VALID [2022-04-28 14:11:47,784 INFO L272 TraceCheckUtils]: 24: Hoare triple {2005#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2005#true} is VALID [2022-04-28 14:11:47,784 INFO L290 TraceCheckUtils]: 25: Hoare triple {2005#true} ~cond := #in~cond; {2005#true} is VALID [2022-04-28 14:11:47,784 INFO L290 TraceCheckUtils]: 26: Hoare triple {2005#true} assume !(0 == ~cond); {2005#true} is VALID [2022-04-28 14:11:47,785 INFO L290 TraceCheckUtils]: 27: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-28 14:11:47,785 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2005#true} {2005#true} #67#return; {2005#true} is VALID [2022-04-28 14:11:47,785 INFO L290 TraceCheckUtils]: 29: Hoare triple {2005#true} assume !!(0 != ~y~0); {2005#true} is VALID [2022-04-28 14:11:47,785 INFO L290 TraceCheckUtils]: 30: Hoare triple {2005#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; {2005#true} is VALID [2022-04-28 14:11:47,785 INFO L290 TraceCheckUtils]: 31: Hoare triple {2005#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); {2005#true} is VALID [2022-04-28 14:11:47,785 INFO L290 TraceCheckUtils]: 32: Hoare triple {2005#true} assume !false; {2005#true} is VALID [2022-04-28 14:11:47,785 INFO L272 TraceCheckUtils]: 33: Hoare triple {2005#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2005#true} is VALID [2022-04-28 14:11:47,785 INFO L290 TraceCheckUtils]: 34: Hoare triple {2005#true} ~cond := #in~cond; {2112#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:11:47,786 INFO L290 TraceCheckUtils]: 35: Hoare triple {2112#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2116#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:11:47,786 INFO L290 TraceCheckUtils]: 36: Hoare triple {2116#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2116#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:11:49,788 WARN L284 TraceCheckUtils]: 37: Hoare quadruple {2116#(not (= |__VERIFIER_assert_#in~cond| 0))} {2005#true} #67#return; {2123#(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:11:49,789 INFO L290 TraceCheckUtils]: 38: Hoare triple {2123#(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); {2127#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:11:49,789 INFO L272 TraceCheckUtils]: 39: Hoare triple {2127#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2131#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:11:49,790 INFO L290 TraceCheckUtils]: 40: Hoare triple {2131#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2135#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:11:49,790 INFO L290 TraceCheckUtils]: 41: Hoare triple {2135#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2006#false} is VALID [2022-04-28 14:11:49,790 INFO L290 TraceCheckUtils]: 42: Hoare triple {2006#false} assume !false; {2006#false} is VALID [2022-04-28 14:11:49,790 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:11:49,790 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:11:57,874 INFO L290 TraceCheckUtils]: 42: Hoare triple {2006#false} assume !false; {2006#false} is VALID [2022-04-28 14:11:57,875 INFO L290 TraceCheckUtils]: 41: Hoare triple {2135#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2006#false} is VALID [2022-04-28 14:11:57,875 INFO L290 TraceCheckUtils]: 40: Hoare triple {2131#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2135#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:11:57,876 INFO L272 TraceCheckUtils]: 39: Hoare triple {2127#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2131#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:11:57,877 INFO L290 TraceCheckUtils]: 38: Hoare triple {2154#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} assume !(0 != ~y~0); {2127#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:11:57,878 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2116#(not (= |__VERIFIER_assert_#in~cond| 0))} {2005#true} #67#return; {2154#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 14:11:57,878 INFO L290 TraceCheckUtils]: 36: Hoare triple {2116#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2116#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:11:57,878 INFO L290 TraceCheckUtils]: 35: Hoare triple {2167#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2116#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:11:57,879 INFO L290 TraceCheckUtils]: 34: Hoare triple {2005#true} ~cond := #in~cond; {2167#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:11:57,879 INFO L272 TraceCheckUtils]: 33: Hoare triple {2005#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2005#true} is VALID [2022-04-28 14:11:57,879 INFO L290 TraceCheckUtils]: 32: Hoare triple {2005#true} assume !false; {2005#true} is VALID [2022-04-28 14:11:57,879 INFO L290 TraceCheckUtils]: 31: Hoare triple {2005#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); {2005#true} is VALID [2022-04-28 14:11:57,879 INFO L290 TraceCheckUtils]: 30: Hoare triple {2005#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; {2005#true} is VALID [2022-04-28 14:11:57,879 INFO L290 TraceCheckUtils]: 29: Hoare triple {2005#true} assume !!(0 != ~y~0); {2005#true} is VALID [2022-04-28 14:11:57,879 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2005#true} {2005#true} #67#return; {2005#true} is VALID [2022-04-28 14:11:57,879 INFO L290 TraceCheckUtils]: 27: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-28 14:11:57,879 INFO L290 TraceCheckUtils]: 26: Hoare triple {2005#true} assume !(0 == ~cond); {2005#true} is VALID [2022-04-28 14:11:57,879 INFO L290 TraceCheckUtils]: 25: Hoare triple {2005#true} ~cond := #in~cond; {2005#true} is VALID [2022-04-28 14:11:57,879 INFO L272 TraceCheckUtils]: 24: Hoare triple {2005#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2005#true} is VALID [2022-04-28 14:11:57,879 INFO L290 TraceCheckUtils]: 23: Hoare triple {2005#true} assume !false; {2005#true} is VALID [2022-04-28 14:11:57,880 INFO L290 TraceCheckUtils]: 22: Hoare triple {2005#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2005#true} is VALID [2022-04-28 14:11:57,880 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2005#true} {2005#true} #65#return; {2005#true} is VALID [2022-04-28 14:11:57,880 INFO L290 TraceCheckUtils]: 20: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-28 14:11:57,880 INFO L290 TraceCheckUtils]: 19: Hoare triple {2005#true} assume !(0 == ~cond); {2005#true} is VALID [2022-04-28 14:11:57,880 INFO L290 TraceCheckUtils]: 18: Hoare triple {2005#true} ~cond := #in~cond; {2005#true} is VALID [2022-04-28 14:11:57,880 INFO L272 TraceCheckUtils]: 17: Hoare triple {2005#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2005#true} is VALID [2022-04-28 14:11:57,880 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2005#true} {2005#true} #63#return; {2005#true} is VALID [2022-04-28 14:11:57,880 INFO L290 TraceCheckUtils]: 15: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-28 14:11:57,880 INFO L290 TraceCheckUtils]: 14: Hoare triple {2005#true} assume !(0 == ~cond); {2005#true} is VALID [2022-04-28 14:11:57,880 INFO L290 TraceCheckUtils]: 13: Hoare triple {2005#true} ~cond := #in~cond; {2005#true} is VALID [2022-04-28 14:11:57,880 INFO L272 TraceCheckUtils]: 12: Hoare triple {2005#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {2005#true} is VALID [2022-04-28 14:11:57,880 INFO L290 TraceCheckUtils]: 11: Hoare triple {2005#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2005#true} is VALID [2022-04-28 14:11:57,880 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2005#true} {2005#true} #61#return; {2005#true} is VALID [2022-04-28 14:11:57,880 INFO L290 TraceCheckUtils]: 9: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-28 14:11:57,880 INFO L290 TraceCheckUtils]: 8: Hoare triple {2005#true} assume !(0 == ~cond); {2005#true} is VALID [2022-04-28 14:11:57,881 INFO L290 TraceCheckUtils]: 7: Hoare triple {2005#true} ~cond := #in~cond; {2005#true} is VALID [2022-04-28 14:11:57,881 INFO L272 TraceCheckUtils]: 6: Hoare triple {2005#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {2005#true} is VALID [2022-04-28 14:11:57,881 INFO L290 TraceCheckUtils]: 5: Hoare triple {2005#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; {2005#true} is VALID [2022-04-28 14:11:57,881 INFO L272 TraceCheckUtils]: 4: Hoare triple {2005#true} call #t~ret6 := main(); {2005#true} is VALID [2022-04-28 14:11:57,881 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2005#true} {2005#true} #71#return; {2005#true} is VALID [2022-04-28 14:11:57,881 INFO L290 TraceCheckUtils]: 2: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-28 14:11:57,881 INFO L290 TraceCheckUtils]: 1: Hoare triple {2005#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); {2005#true} is VALID [2022-04-28 14:11:57,881 INFO L272 TraceCheckUtils]: 0: Hoare triple {2005#true} call ULTIMATE.init(); {2005#true} is VALID [2022-04-28 14:11:57,881 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:11:57,881 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:11:57,881 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1825882372] [2022-04-28 14:11:57,881 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:11:57,881 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [303191851] [2022-04-28 14:11:57,881 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [303191851] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:11:57,882 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:11:57,882 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-28 14:11:57,882 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:11:57,882 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1015121644] [2022-04-28 14:11:57,882 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1015121644] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:11:57,882 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:11:57,882 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 14:11:57,882 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1430619225] [2022-04-28 14:11:57,882 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:11:57,882 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:11:57,883 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:11:57,883 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:11:59,906 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:11:59,907 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 14:11:59,907 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:11:59,907 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 14:11:59,907 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-28 14:11:59,907 INFO L87 Difference]: Start difference. First operand 50 states and 55 transitions. Second operand has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 14:12:01,951 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:12:02,304 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:12:02,305 INFO L93 Difference]: Finished difference Result 57 states and 61 transitions. [2022-04-28 14:12:02,305 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 14:12:02,309 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:12:02,309 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:12:02,309 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:12:02,310 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 37 transitions. [2022-04-28 14:12:02,310 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:12:02,311 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 37 transitions. [2022-04-28 14:12:02,311 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 37 transitions. [2022-04-28 14:12:04,336 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:12:04,338 INFO L225 Difference]: With dead ends: 57 [2022-04-28 14:12:04,338 INFO L226 Difference]: Without dead ends: 50 [2022-04-28 14:12:04,338 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:12:04,339 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 13 mSDsluCounter, 78 mSDsCounter, 0 mSdLazyCounter, 55 mSolverCounterSat, 1 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 103 SdHoareTripleChecker+Invalid, 57 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 55 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.2s IncrementalHoareTripleChecker+Time [2022-04-28 14:12:04,339 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 103 Invalid, 57 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 55 Invalid, 1 Unknown, 0 Unchecked, 2.2s Time] [2022-04-28 14:12:04,339 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-28 14:12:04,371 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 41. [2022-04-28 14:12:04,371 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:12:04,372 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:12:04,372 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:12:04,372 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:12:04,374 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:12:04,374 INFO L93 Difference]: Finished difference Result 50 states and 54 transitions. [2022-04-28 14:12:04,374 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-28 14:12:04,375 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:12:04,375 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:12:04,375 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 50 states. [2022-04-28 14:12:04,375 INFO L87 Difference]: Start difference. First operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 50 states. [2022-04-28 14:12:04,383 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:12:04,383 INFO L93 Difference]: Finished difference Result 50 states and 54 transitions. [2022-04-28 14:12:04,383 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-28 14:12:04,383 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:12:04,383 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:12:04,383 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:12:04,383 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:12:04,383 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:12:04,384 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 45 transitions. [2022-04-28 14:12:04,384 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 45 transitions. Word has length 43 [2022-04-28 14:12:04,384 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:12:04,385 INFO L495 AbstractCegarLoop]: Abstraction has 41 states and 45 transitions. [2022-04-28 14:12:04,385 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:12:04,385 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 45 transitions. [2022-04-28 14:12:10,688 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 42 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-28 14:12:10,688 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 45 transitions. [2022-04-28 14:12:10,688 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 14:12:10,688 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:12:10,689 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:12:10,704 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-28 14:12:10,889 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:12:10,889 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:12:10,889 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:12:10,890 INFO L85 PathProgramCache]: Analyzing trace with hash 1025268728, now seen corresponding path program 3 times [2022-04-28 14:12:10,890 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:12:10,890 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [421368717] [2022-04-28 14:12:10,890 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:12:10,890 INFO L85 PathProgramCache]: Analyzing trace with hash 1025268728, now seen corresponding path program 4 times [2022-04-28 14:12:10,890 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:12:10,890 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [534435910] [2022-04-28 14:12:10,890 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:12:10,890 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:12:10,903 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:12:10,904 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [548187817] [2022-04-28 14:12:10,904 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 14:12:10,904 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:12:10,904 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:12:10,907 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:12:10,907 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:12:10,948 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 14:12:10,949 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:12:10,949 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-28 14:12:10,969 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:12:10,970 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:12:12,393 INFO L272 TraceCheckUtils]: 0: Hoare triple {2572#true} call ULTIMATE.init(); {2572#true} is VALID [2022-04-28 14:12:12,393 INFO L290 TraceCheckUtils]: 1: Hoare triple {2572#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); {2572#true} is VALID [2022-04-28 14:12:12,393 INFO L290 TraceCheckUtils]: 2: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-28 14:12:12,393 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2572#true} {2572#true} #71#return; {2572#true} is VALID [2022-04-28 14:12:12,393 INFO L272 TraceCheckUtils]: 4: Hoare triple {2572#true} call #t~ret6 := main(); {2572#true} is VALID [2022-04-28 14:12:12,393 INFO L290 TraceCheckUtils]: 5: Hoare triple {2572#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; {2572#true} is VALID [2022-04-28 14:12:12,393 INFO L272 TraceCheckUtils]: 6: Hoare triple {2572#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {2572#true} is VALID [2022-04-28 14:12:12,393 INFO L290 TraceCheckUtils]: 7: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-28 14:12:12,394 INFO L290 TraceCheckUtils]: 8: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-28 14:12:12,394 INFO L290 TraceCheckUtils]: 9: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-28 14:12:12,394 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2572#true} {2572#true} #61#return; {2572#true} is VALID [2022-04-28 14:12:12,394 INFO L290 TraceCheckUtils]: 11: Hoare triple {2572#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2572#true} is VALID [2022-04-28 14:12:12,394 INFO L272 TraceCheckUtils]: 12: Hoare triple {2572#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {2572#true} is VALID [2022-04-28 14:12:12,394 INFO L290 TraceCheckUtils]: 13: Hoare triple {2572#true} ~cond := #in~cond; {2616#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:12:12,395 INFO L290 TraceCheckUtils]: 14: Hoare triple {2616#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2620#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:12:12,395 INFO L290 TraceCheckUtils]: 15: Hoare triple {2620#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2620#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:12:12,395 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2620#(not (= |assume_abort_if_not_#in~cond| 0))} {2572#true} #63#return; {2627#(and (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-28 14:12:12,395 INFO L272 TraceCheckUtils]: 17: Hoare triple {2627#(and (<= 0 main_~b~0) (<= main_~b~0 10))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2572#true} is VALID [2022-04-28 14:12:12,399 INFO L290 TraceCheckUtils]: 18: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-28 14:12:12,399 INFO L290 TraceCheckUtils]: 19: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-28 14:12:12,399 INFO L290 TraceCheckUtils]: 20: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-28 14:12:12,400 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2572#true} {2627#(and (<= 0 main_~b~0) (<= main_~b~0 10))} #65#return; {2627#(and (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-28 14:12:12,400 INFO L290 TraceCheckUtils]: 22: Hoare triple {2627#(and (<= 0 main_~b~0) (<= main_~b~0 10))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2646#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:12:12,400 INFO L290 TraceCheckUtils]: 23: Hoare triple {2646#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} assume !false; {2646#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:12:12,400 INFO L272 TraceCheckUtils]: 24: Hoare triple {2646#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2572#true} is VALID [2022-04-28 14:12:12,400 INFO L290 TraceCheckUtils]: 25: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-28 14:12:12,401 INFO L290 TraceCheckUtils]: 26: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-28 14:12:12,401 INFO L290 TraceCheckUtils]: 27: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-28 14:12:12,401 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2572#true} {2646#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} #67#return; {2646#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:12:12,401 INFO L290 TraceCheckUtils]: 29: Hoare triple {2646#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {2668#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:12:12,402 INFO L290 TraceCheckUtils]: 30: Hoare triple {2668#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= 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; {2672#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:12:12,403 INFO L290 TraceCheckUtils]: 31: Hoare triple {2672#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (<= main_~b~0 10) (= 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); {2676#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:12:12,403 INFO L290 TraceCheckUtils]: 32: Hoare triple {2676#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {2676#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:12:12,404 INFO L272 TraceCheckUtils]: 33: Hoare triple {2676#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (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)); {2572#true} is VALID [2022-04-28 14:12:12,404 INFO L290 TraceCheckUtils]: 34: Hoare triple {2572#true} ~cond := #in~cond; {2686#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:12:12,407 INFO L290 TraceCheckUtils]: 35: Hoare triple {2686#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2690#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:12:12,408 INFO L290 TraceCheckUtils]: 36: Hoare triple {2690#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2690#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:12:12,409 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2690#(not (= |__VERIFIER_assert_#in~cond| 0))} {2676#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} #67#return; {2676#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:12:12,410 INFO L290 TraceCheckUtils]: 38: Hoare triple {2676#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !!(0 != ~y~0); {2700#(and (not (= main_~y~0 0)) (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:12:12,411 INFO L290 TraceCheckUtils]: 39: Hoare triple {2700#(and (not (= main_~y~0 0)) (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2704#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~a~0 main_~x~0) main_~z~0) (= (* main_~a~0 2) main_~x~0) (= (div (+ (- 1) main_~b~0) 2) (+ main_~y~0 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-28 14:12:12,412 INFO L290 TraceCheckUtils]: 40: Hoare triple {2704#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~a~0 main_~x~0) main_~z~0) (= (* main_~a~0 2) main_~x~0) (= (div (+ (- 1) main_~b~0) 2) (+ main_~y~0 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (<= main_~b~0 10))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2708#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (= (* main_~a~0 2) (+ (* (- 1) main_~a~0) main_~z~0)) (<= 1 (mod main_~b~0 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-28 14:12:12,413 INFO L290 TraceCheckUtils]: 41: Hoare triple {2708#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (= (* main_~a~0 2) (+ (* (- 1) main_~a~0) main_~z~0)) (<= 1 (mod main_~b~0 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (<= main_~b~0 10))} assume !false; {2708#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (= (* main_~a~0 2) (+ (* (- 1) main_~a~0) main_~z~0)) (<= 1 (mod main_~b~0 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-28 14:12:12,422 INFO L272 TraceCheckUtils]: 42: Hoare triple {2708#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (= (* main_~a~0 2) (+ (* (- 1) main_~a~0) main_~z~0)) (<= 1 (mod main_~b~0 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (<= main_~b~0 10))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2715#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:12:12,422 INFO L290 TraceCheckUtils]: 43: Hoare triple {2715#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2719#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:12:12,422 INFO L290 TraceCheckUtils]: 44: Hoare triple {2719#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2573#false} is VALID [2022-04-28 14:12:12,423 INFO L290 TraceCheckUtils]: 45: Hoare triple {2573#false} assume !false; {2573#false} is VALID [2022-04-28 14:12:12,423 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:12:12,423 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:13:13,184 INFO L290 TraceCheckUtils]: 45: Hoare triple {2573#false} assume !false; {2573#false} is VALID [2022-04-28 14:13:13,184 INFO L290 TraceCheckUtils]: 44: Hoare triple {2719#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2573#false} is VALID [2022-04-28 14:13:13,185 INFO L290 TraceCheckUtils]: 43: Hoare triple {2715#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2719#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:13:13,185 INFO L272 TraceCheckUtils]: 42: Hoare triple {2735#(= (+ 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)); {2715#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:13:13,185 INFO L290 TraceCheckUtils]: 41: Hoare triple {2735#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {2735#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:13:13,193 INFO L290 TraceCheckUtils]: 40: Hoare triple {2742#(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); {2735#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:13:13,196 INFO L290 TraceCheckUtils]: 39: Hoare triple {2746#(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; {2742#(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:13,197 INFO L290 TraceCheckUtils]: 38: Hoare triple {2746#(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); {2746#(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:13:13,388 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2690#(not (= |__VERIFIER_assert_#in~cond| 0))} {2572#true} #67#return; {2746#(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:13:13,389 INFO L290 TraceCheckUtils]: 36: Hoare triple {2690#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2690#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:13:13,389 INFO L290 TraceCheckUtils]: 35: Hoare triple {2762#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2690#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:13:13,389 INFO L290 TraceCheckUtils]: 34: Hoare triple {2572#true} ~cond := #in~cond; {2762#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:13:13,389 INFO L272 TraceCheckUtils]: 33: Hoare triple {2572#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2572#true} is VALID [2022-04-28 14:13:13,390 INFO L290 TraceCheckUtils]: 32: Hoare triple {2572#true} assume !false; {2572#true} is VALID [2022-04-28 14:13:13,390 INFO L290 TraceCheckUtils]: 31: Hoare triple {2572#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); {2572#true} is VALID [2022-04-28 14:13:13,390 INFO L290 TraceCheckUtils]: 30: Hoare triple {2572#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; {2572#true} is VALID [2022-04-28 14:13:13,390 INFO L290 TraceCheckUtils]: 29: Hoare triple {2572#true} assume !!(0 != ~y~0); {2572#true} is VALID [2022-04-28 14:13:13,390 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2572#true} {2572#true} #67#return; {2572#true} is VALID [2022-04-28 14:13:13,390 INFO L290 TraceCheckUtils]: 27: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-28 14:13:13,390 INFO L290 TraceCheckUtils]: 26: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-28 14:13:13,390 INFO L290 TraceCheckUtils]: 25: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-28 14:13:13,390 INFO L272 TraceCheckUtils]: 24: Hoare triple {2572#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2572#true} is VALID [2022-04-28 14:13:13,390 INFO L290 TraceCheckUtils]: 23: Hoare triple {2572#true} assume !false; {2572#true} is VALID [2022-04-28 14:13:13,390 INFO L290 TraceCheckUtils]: 22: Hoare triple {2572#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2572#true} is VALID [2022-04-28 14:13:13,390 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2572#true} {2572#true} #65#return; {2572#true} is VALID [2022-04-28 14:13:13,390 INFO L290 TraceCheckUtils]: 20: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-28 14:13:13,390 INFO L290 TraceCheckUtils]: 19: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-28 14:13:13,390 INFO L290 TraceCheckUtils]: 18: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-28 14:13:13,391 INFO L272 TraceCheckUtils]: 17: Hoare triple {2572#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2572#true} is VALID [2022-04-28 14:13:13,391 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2572#true} {2572#true} #63#return; {2572#true} is VALID [2022-04-28 14:13:13,391 INFO L290 TraceCheckUtils]: 15: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-28 14:13:13,391 INFO L290 TraceCheckUtils]: 14: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-28 14:13:13,391 INFO L290 TraceCheckUtils]: 13: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-28 14:13:13,391 INFO L272 TraceCheckUtils]: 12: Hoare triple {2572#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {2572#true} is VALID [2022-04-28 14:13:13,391 INFO L290 TraceCheckUtils]: 11: Hoare triple {2572#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2572#true} is VALID [2022-04-28 14:13:13,391 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2572#true} {2572#true} #61#return; {2572#true} is VALID [2022-04-28 14:13:13,391 INFO L290 TraceCheckUtils]: 9: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-28 14:13:13,391 INFO L290 TraceCheckUtils]: 8: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-28 14:13:13,391 INFO L290 TraceCheckUtils]: 7: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-28 14:13:13,391 INFO L272 TraceCheckUtils]: 6: Hoare triple {2572#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {2572#true} is VALID [2022-04-28 14:13:13,391 INFO L290 TraceCheckUtils]: 5: Hoare triple {2572#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; {2572#true} is VALID [2022-04-28 14:13:13,391 INFO L272 TraceCheckUtils]: 4: Hoare triple {2572#true} call #t~ret6 := main(); {2572#true} is VALID [2022-04-28 14:13:13,391 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2572#true} {2572#true} #71#return; {2572#true} is VALID [2022-04-28 14:13:13,391 INFO L290 TraceCheckUtils]: 2: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-28 14:13:13,391 INFO L290 TraceCheckUtils]: 1: Hoare triple {2572#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); {2572#true} is VALID [2022-04-28 14:13:13,392 INFO L272 TraceCheckUtils]: 0: Hoare triple {2572#true} call ULTIMATE.init(); {2572#true} is VALID [2022-04-28 14:13:13,392 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:13:13,392 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:13:13,392 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [534435910] [2022-04-28 14:13:13,392 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:13:13,392 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [548187817] [2022-04-28 14:13:13,392 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [548187817] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:13:13,392 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:13:13,392 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 9] total 20 [2022-04-28 14:13:13,392 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:13:13,392 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [421368717] [2022-04-28 14:13:13,392 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [421368717] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:13:13,392 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:13:13,393 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 14:13:13,393 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1262751606] [2022-04-28 14:13:13,393 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:13:13,393 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.8125) internal successors, (29), 14 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:13:13,393 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:13:13,393 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 1.8125) internal successors, (29), 14 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:13:13,439 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:13:13,439 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 14:13:13,440 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:13:13,440 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 14:13:13,440 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=313, Unknown=1, NotChecked=0, Total=380 [2022-04-28 14:13:13,440 INFO L87 Difference]: Start difference. First operand 41 states and 45 transitions. Second operand has 16 states, 16 states have (on average 1.8125) internal successors, (29), 14 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:13:14,811 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:13:14,811 INFO L93 Difference]: Finished difference Result 63 states and 69 transitions. [2022-04-28 14:13:14,812 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 14:13:14,812 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.8125) internal successors, (29), 14 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:13:14,812 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:13:14,812 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.8125) internal successors, (29), 14 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:13:14,813 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 57 transitions. [2022-04-28 14:13:14,813 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.8125) internal successors, (29), 14 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:13:14,814 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 57 transitions. [2022-04-28 14:13:14,814 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 57 transitions. [2022-04-28 14:13:14,874 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:13:14,875 INFO L225 Difference]: With dead ends: 63 [2022-04-28 14:13:14,875 INFO L226 Difference]: Without dead ends: 61 [2022-04-28 14:13:14,876 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 70 SyntacticMatches, 3 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 115 ImplicationChecksByTransitivity, 3.1s TimeCoverageRelationStatistics Valid=83, Invalid=422, Unknown=1, NotChecked=0, Total=506 [2022-04-28 14:13:14,876 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 29 mSDsluCounter, 150 mSDsCounter, 0 mSdLazyCounter, 376 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 170 SdHoareTripleChecker+Invalid, 389 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 376 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 14:13:14,876 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [31 Valid, 170 Invalid, 389 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 376 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 14:13:14,877 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2022-04-28 14:13:14,923 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 50. [2022-04-28 14:13:14,923 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:13:14,923 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:13:14,923 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:13:14,923 INFO L87 Difference]: Start difference. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:13:14,924 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:13:14,925 INFO L93 Difference]: Finished difference Result 61 states and 67 transitions. [2022-04-28 14:13:14,925 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 67 transitions. [2022-04-28 14:13:14,925 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:13:14,925 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:13:14,925 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 61 states. [2022-04-28 14:13:14,925 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 61 states. [2022-04-28 14:13:14,926 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:13:14,926 INFO L93 Difference]: Finished difference Result 61 states and 67 transitions. [2022-04-28 14:13:14,926 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 67 transitions. [2022-04-28 14:13:14,927 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:13:14,927 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:13:14,927 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:13:14,927 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:13:14,927 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:13:14,928 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-28 14:13:14,928 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 46 [2022-04-28 14:13:14,928 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:13:14,928 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-28 14:13:14,928 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 1.8125) internal successors, (29), 14 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:13:14,928 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-28 14:13:22,137 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 52 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-28 14:13:22,137 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-28 14:13:22,137 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 14:13:22,137 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:13:22,138 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:22,153 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-04-28 14:13:22,338 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:22,338 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:13:22,338 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:13:22,339 INFO L85 PathProgramCache]: Analyzing trace with hash -1494691206, now seen corresponding path program 1 times [2022-04-28 14:13:22,339 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:13:22,339 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [884891296] [2022-04-28 14:13:22,339 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:13:22,339 INFO L85 PathProgramCache]: Analyzing trace with hash -1494691206, now seen corresponding path program 2 times [2022-04-28 14:13:22,339 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:13:22,339 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1544402127] [2022-04-28 14:13:22,339 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:13:22,339 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:13:22,350 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:13:22,350 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1578556065] [2022-04-28 14:13:22,350 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:13:22,350 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:13:22,350 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:13:22,351 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:22,352 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:22,387 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:13:22,387 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:13:22,388 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 14:13:22,399 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:13:22,400 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:13:27,533 INFO L272 TraceCheckUtils]: 0: Hoare triple {3221#true} call ULTIMATE.init(); {3221#true} is VALID [2022-04-28 14:13:27,533 INFO L290 TraceCheckUtils]: 1: Hoare triple {3221#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); {3221#true} is VALID [2022-04-28 14:13:27,533 INFO L290 TraceCheckUtils]: 2: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-28 14:13:27,533 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3221#true} {3221#true} #71#return; {3221#true} is VALID [2022-04-28 14:13:27,534 INFO L272 TraceCheckUtils]: 4: Hoare triple {3221#true} call #t~ret6 := main(); {3221#true} is VALID [2022-04-28 14:13:27,534 INFO L290 TraceCheckUtils]: 5: Hoare triple {3221#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; {3221#true} is VALID [2022-04-28 14:13:27,534 INFO L272 TraceCheckUtils]: 6: Hoare triple {3221#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {3221#true} is VALID [2022-04-28 14:13:27,534 INFO L290 TraceCheckUtils]: 7: Hoare triple {3221#true} ~cond := #in~cond; {3221#true} is VALID [2022-04-28 14:13:27,534 INFO L290 TraceCheckUtils]: 8: Hoare triple {3221#true} assume !(0 == ~cond); {3221#true} is VALID [2022-04-28 14:13:27,534 INFO L290 TraceCheckUtils]: 9: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-28 14:13:27,534 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3221#true} {3221#true} #61#return; {3221#true} is VALID [2022-04-28 14:13:27,534 INFO L290 TraceCheckUtils]: 11: Hoare triple {3221#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3221#true} is VALID [2022-04-28 14:13:27,534 INFO L272 TraceCheckUtils]: 12: Hoare triple {3221#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {3221#true} is VALID [2022-04-28 14:13:27,534 INFO L290 TraceCheckUtils]: 13: Hoare triple {3221#true} ~cond := #in~cond; {3221#true} is VALID [2022-04-28 14:13:27,534 INFO L290 TraceCheckUtils]: 14: Hoare triple {3221#true} assume !(0 == ~cond); {3221#true} is VALID [2022-04-28 14:13:27,534 INFO L290 TraceCheckUtils]: 15: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-28 14:13:27,534 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3221#true} {3221#true} #63#return; {3221#true} is VALID [2022-04-28 14:13:27,534 INFO L272 TraceCheckUtils]: 17: Hoare triple {3221#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3221#true} is VALID [2022-04-28 14:13:27,534 INFO L290 TraceCheckUtils]: 18: Hoare triple {3221#true} ~cond := #in~cond; {3221#true} is VALID [2022-04-28 14:13:27,534 INFO L290 TraceCheckUtils]: 19: Hoare triple {3221#true} assume !(0 == ~cond); {3221#true} is VALID [2022-04-28 14:13:27,535 INFO L290 TraceCheckUtils]: 20: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-28 14:13:27,535 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3221#true} {3221#true} #65#return; {3221#true} is VALID [2022-04-28 14:13:27,535 INFO L290 TraceCheckUtils]: 22: Hoare triple {3221#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3292#(= main_~b~0 main_~y~0)} is VALID [2022-04-28 14:13:27,535 INFO L290 TraceCheckUtils]: 23: Hoare triple {3292#(= main_~b~0 main_~y~0)} assume !false; {3292#(= main_~b~0 main_~y~0)} is VALID [2022-04-28 14:13:27,535 INFO L272 TraceCheckUtils]: 24: Hoare triple {3292#(= main_~b~0 main_~y~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3221#true} is VALID [2022-04-28 14:13:27,535 INFO L290 TraceCheckUtils]: 25: Hoare triple {3221#true} ~cond := #in~cond; {3221#true} is VALID [2022-04-28 14:13:27,535 INFO L290 TraceCheckUtils]: 26: Hoare triple {3221#true} assume !(0 == ~cond); {3221#true} is VALID [2022-04-28 14:13:27,535 INFO L290 TraceCheckUtils]: 27: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-28 14:13:27,540 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3221#true} {3292#(= main_~b~0 main_~y~0)} #67#return; {3292#(= main_~b~0 main_~y~0)} is VALID [2022-04-28 14:13:27,540 INFO L290 TraceCheckUtils]: 29: Hoare triple {3292#(= main_~b~0 main_~y~0)} assume !!(0 != ~y~0); {3314#(and (not (= main_~y~0 0)) (= main_~b~0 main_~y~0))} is VALID [2022-04-28 14:13:27,541 INFO L290 TraceCheckUtils]: 30: Hoare triple {3314#(and (not (= main_~y~0 0)) (= main_~b~0 main_~y~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {3318#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} is VALID [2022-04-28 14:13:27,542 INFO L290 TraceCheckUtils]: 31: Hoare triple {3318#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3322#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 14:13:27,542 INFO L290 TraceCheckUtils]: 32: Hoare triple {3322#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} assume !false; {3322#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 14:13:27,542 INFO L272 TraceCheckUtils]: 33: Hoare triple {3322#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3221#true} is VALID [2022-04-28 14:13:27,542 INFO L290 TraceCheckUtils]: 34: Hoare triple {3221#true} ~cond := #in~cond; {3332#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:13:27,542 INFO L290 TraceCheckUtils]: 35: Hoare triple {3332#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3336#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:13:27,543 INFO L290 TraceCheckUtils]: 36: Hoare triple {3336#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3336#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:13:27,544 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3336#(not (= |__VERIFIER_assert_#in~cond| 0))} {3322#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} #67#return; {3343#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 14:13:27,544 INFO L290 TraceCheckUtils]: 38: Hoare triple {3343#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} assume !!(0 != ~y~0); {3343#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 14:13:27,545 INFO L290 TraceCheckUtils]: 39: Hoare triple {3343#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3350#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 14:13:28,921 INFO L290 TraceCheckUtils]: 40: Hoare triple {3350#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 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); {3354#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (mod (div (- main_~x~0) (- 2)) 2) 0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 14:13:28,922 INFO L290 TraceCheckUtils]: 41: Hoare triple {3354#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (mod (div (- main_~x~0) (- 2)) 2) 0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} assume !false; {3354#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (mod (div (- main_~x~0) (- 2)) 2) 0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 14:13:29,320 INFO L272 TraceCheckUtils]: 42: Hoare triple {3354#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (mod (div (- main_~x~0) (- 2)) 2) 0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3361#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:13:29,320 INFO L290 TraceCheckUtils]: 43: Hoare triple {3361#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3365#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:13:29,321 INFO L290 TraceCheckUtils]: 44: Hoare triple {3365#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3222#false} is VALID [2022-04-28 14:13:29,321 INFO L290 TraceCheckUtils]: 45: Hoare triple {3222#false} assume !false; {3222#false} is VALID [2022-04-28 14:13:29,321 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-28 14:13:29,321 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:14:11,592 INFO L290 TraceCheckUtils]: 45: Hoare triple {3222#false} assume !false; {3222#false} is VALID [2022-04-28 14:14:11,593 INFO L290 TraceCheckUtils]: 44: Hoare triple {3365#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3222#false} is VALID [2022-04-28 14:14:11,593 INFO L290 TraceCheckUtils]: 43: Hoare triple {3361#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3365#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:14:11,594 INFO L272 TraceCheckUtils]: 42: Hoare triple {3381#(= (+ 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)); {3361#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:14:11,594 INFO L290 TraceCheckUtils]: 41: Hoare triple {3381#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {3381#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:14:11,599 INFO L290 TraceCheckUtils]: 40: Hoare triple {3388#(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); {3381#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:14:11,599 INFO L290 TraceCheckUtils]: 39: Hoare triple {3392#(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)); {3388#(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:11,600 INFO L290 TraceCheckUtils]: 38: Hoare triple {3392#(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); {3392#(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:14:11,602 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3336#(not (= |__VERIFIER_assert_#in~cond| 0))} {3399#(or (<= 0 main_~y~0) (= (+ (* main_~x~0 2) (* 2 (* (div main_~y~0 2) main_~x~0))) (* main_~y~0 main_~x~0)) (= (mod main_~y~0 2) 0))} #67#return; {3392#(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:14:11,602 INFO L290 TraceCheckUtils]: 36: Hoare triple {3336#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3336#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:14:11,603 INFO L290 TraceCheckUtils]: 35: Hoare triple {3409#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3336#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:14:11,603 INFO L290 TraceCheckUtils]: 34: Hoare triple {3221#true} ~cond := #in~cond; {3409#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:14:11,603 INFO L272 TraceCheckUtils]: 33: Hoare triple {3399#(or (<= 0 main_~y~0) (= (+ (* main_~x~0 2) (* 2 (* (div main_~y~0 2) main_~x~0))) (* main_~y~0 main_~x~0)) (= (mod main_~y~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3221#true} is VALID [2022-04-28 14:14:11,603 INFO L290 TraceCheckUtils]: 32: Hoare triple {3399#(or (<= 0 main_~y~0) (= (+ (* main_~x~0 2) (* 2 (* (div main_~y~0 2) main_~x~0))) (* main_~y~0 main_~x~0)) (= (mod main_~y~0 2) 0))} assume !false; {3399#(or (<= 0 main_~y~0) (= (+ (* main_~x~0 2) (* 2 (* (div main_~y~0 2) main_~x~0))) (* main_~y~0 main_~x~0)) (= (mod main_~y~0 2) 0))} is VALID [2022-04-28 14:14:11,620 INFO L290 TraceCheckUtils]: 31: Hoare triple {3419#(and (or (<= 0 (+ (div main_~y~0 2) 1)) (= (mod main_~y~0 2) 0) (forall ((main_~x~0 Int) (aux_div_v_main_~y~0_39_22 Int)) (or (= (* 2 (* (div main_~y~0 2) main_~x~0)) (+ (* main_~x~0 2) (* (* aux_div_v_main_~y~0_39_22 main_~x~0) 4))) (<= (+ (* aux_div_v_main_~y~0_39_22 2) 1) (div main_~y~0 2)) (< (+ (div main_~y~0 2) 1) (* aux_div_v_main_~y~0_39_22 2)))) (<= (div (+ (- 1) (* (- 1) (div main_~y~0 2))) (- 2)) (+ (div (+ (- 1) (div main_~y~0 2)) 2) 1))) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (<= (div (+ (- 1) (div main_~y~0 2)) 2) (div (+ (- 2) (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); {3399#(or (<= 0 main_~y~0) (= (+ (* main_~x~0 2) (* 2 (* (div main_~y~0 2) main_~x~0))) (* main_~y~0 main_~x~0)) (= (mod main_~y~0 2) 0))} is VALID [2022-04-28 14:14:11,621 INFO L290 TraceCheckUtils]: 30: Hoare triple {3221#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; {3419#(and (or (<= 0 (+ (div main_~y~0 2) 1)) (= (mod main_~y~0 2) 0) (forall ((main_~x~0 Int) (aux_div_v_main_~y~0_39_22 Int)) (or (= (* 2 (* (div main_~y~0 2) main_~x~0)) (+ (* main_~x~0 2) (* (* aux_div_v_main_~y~0_39_22 main_~x~0) 4))) (<= (+ (* aux_div_v_main_~y~0_39_22 2) 1) (div main_~y~0 2)) (< (+ (div main_~y~0 2) 1) (* aux_div_v_main_~y~0_39_22 2)))) (<= (div (+ (- 1) (* (- 1) (div main_~y~0 2))) (- 2)) (+ (div (+ (- 1) (div main_~y~0 2)) 2) 1))) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (<= (div (+ (- 1) (div main_~y~0 2)) 2) (div (+ (- 2) (div main_~y~0 2)) 2))))} is VALID [2022-04-28 14:14:11,621 INFO L290 TraceCheckUtils]: 29: Hoare triple {3221#true} assume !!(0 != ~y~0); {3221#true} is VALID [2022-04-28 14:14:11,621 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3221#true} {3221#true} #67#return; {3221#true} is VALID [2022-04-28 14:14:11,621 INFO L290 TraceCheckUtils]: 27: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-28 14:14:11,621 INFO L290 TraceCheckUtils]: 26: Hoare triple {3221#true} assume !(0 == ~cond); {3221#true} is VALID [2022-04-28 14:14:11,621 INFO L290 TraceCheckUtils]: 25: Hoare triple {3221#true} ~cond := #in~cond; {3221#true} is VALID [2022-04-28 14:14:11,621 INFO L272 TraceCheckUtils]: 24: Hoare triple {3221#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3221#true} is VALID [2022-04-28 14:14:11,621 INFO L290 TraceCheckUtils]: 23: Hoare triple {3221#true} assume !false; {3221#true} is VALID [2022-04-28 14:14:11,622 INFO L290 TraceCheckUtils]: 22: Hoare triple {3221#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3221#true} is VALID [2022-04-28 14:14:11,624 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3221#true} {3221#true} #65#return; {3221#true} is VALID [2022-04-28 14:14:11,625 INFO L290 TraceCheckUtils]: 20: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-28 14:14:11,625 INFO L290 TraceCheckUtils]: 19: Hoare triple {3221#true} assume !(0 == ~cond); {3221#true} is VALID [2022-04-28 14:14:11,625 INFO L290 TraceCheckUtils]: 18: Hoare triple {3221#true} ~cond := #in~cond; {3221#true} is VALID [2022-04-28 14:14:11,625 INFO L272 TraceCheckUtils]: 17: Hoare triple {3221#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3221#true} is VALID [2022-04-28 14:14:11,625 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3221#true} {3221#true} #63#return; {3221#true} is VALID [2022-04-28 14:14:11,626 INFO L290 TraceCheckUtils]: 15: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-28 14:14:11,626 INFO L290 TraceCheckUtils]: 14: Hoare triple {3221#true} assume !(0 == ~cond); {3221#true} is VALID [2022-04-28 14:14:11,626 INFO L290 TraceCheckUtils]: 13: Hoare triple {3221#true} ~cond := #in~cond; {3221#true} is VALID [2022-04-28 14:14:11,626 INFO L272 TraceCheckUtils]: 12: Hoare triple {3221#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {3221#true} is VALID [2022-04-28 14:14:11,626 INFO L290 TraceCheckUtils]: 11: Hoare triple {3221#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3221#true} is VALID [2022-04-28 14:14:11,626 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3221#true} {3221#true} #61#return; {3221#true} is VALID [2022-04-28 14:14:11,626 INFO L290 TraceCheckUtils]: 9: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-28 14:14:11,626 INFO L290 TraceCheckUtils]: 8: Hoare triple {3221#true} assume !(0 == ~cond); {3221#true} is VALID [2022-04-28 14:14:11,626 INFO L290 TraceCheckUtils]: 7: Hoare triple {3221#true} ~cond := #in~cond; {3221#true} is VALID [2022-04-28 14:14:11,626 INFO L272 TraceCheckUtils]: 6: Hoare triple {3221#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {3221#true} is VALID [2022-04-28 14:14:11,626 INFO L290 TraceCheckUtils]: 5: Hoare triple {3221#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; {3221#true} is VALID [2022-04-28 14:14:11,626 INFO L272 TraceCheckUtils]: 4: Hoare triple {3221#true} call #t~ret6 := main(); {3221#true} is VALID [2022-04-28 14:14:11,626 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3221#true} {3221#true} #71#return; {3221#true} is VALID [2022-04-28 14:14:11,626 INFO L290 TraceCheckUtils]: 2: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-28 14:14:11,626 INFO L290 TraceCheckUtils]: 1: Hoare triple {3221#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); {3221#true} is VALID [2022-04-28 14:14:11,626 INFO L272 TraceCheckUtils]: 0: Hoare triple {3221#true} call ULTIMATE.init(); {3221#true} is VALID [2022-04-28 14:14:11,627 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 12 proven. 4 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-28 14:14:11,627 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:14:11,627 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1544402127] [2022-04-28 14:14:11,627 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:14:11,627 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1578556065] [2022-04-28 14:14:11,627 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1578556065] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:14:11,627 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:14:11,627 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 11] total 19 [2022-04-28 14:14:11,627 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:14:11,627 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [884891296] [2022-04-28 14:14:11,627 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [884891296] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:14:11,627 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:14:11,627 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 14:14:11,627 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [778770945] [2022-04-28 14:14:11,627 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:14:11,628 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-28 14:14:11,629 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:14:11,629 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:14:14,897 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:14:14,898 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 14:14:14,898 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:14:14,898 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 14:14:14,898 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=281, Unknown=0, NotChecked=0, Total=342 [2022-04-28 14:14:14,898 INFO L87 Difference]: Start difference. First operand 50 states and 55 transitions. Second operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:14:19,317 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.17s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:14:24,637 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:14:25,956 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:14:25,957 INFO L93 Difference]: Finished difference Result 63 states and 69 transitions. [2022-04-28 14:14:25,957 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 14:14:25,957 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-28 14:14:25,957 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:14:25,957 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:14:25,958 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-28 14:14:25,958 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:14:25,959 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-28 14:14:25,959 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 56 transitions. [2022-04-28 14:14:26,755 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:14:26,756 INFO L225 Difference]: With dead ends: 63 [2022-04-28 14:14:26,756 INFO L226 Difference]: Without dead ends: 61 [2022-04-28 14:14:26,757 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 73 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 65 ImplicationChecksByTransitivity, 8.7s TimeCoverageRelationStatistics Valid=74, Invalid=346, Unknown=0, NotChecked=0, Total=420 [2022-04-28 14:14:26,757 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 18 mSDsluCounter, 139 mSDsCounter, 0 mSdLazyCounter, 195 mSolverCounterSat, 1 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 166 SdHoareTripleChecker+Invalid, 197 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 195 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.5s IncrementalHoareTripleChecker+Time [2022-04-28 14:14:26,757 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [20 Valid, 166 Invalid, 197 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 195 Invalid, 1 Unknown, 0 Unchecked, 5.5s Time] [2022-04-28 14:14:26,758 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2022-04-28 14:14:26,826 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 50. [2022-04-28 14:14:26,826 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:14:26,832 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:14:26,833 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:14:26,834 INFO L87 Difference]: Start difference. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:14:26,836 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:14:26,836 INFO L93 Difference]: Finished difference Result 61 states and 67 transitions. [2022-04-28 14:14:26,836 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 67 transitions. [2022-04-28 14:14:26,836 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:14:26,836 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:14:26,836 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 61 states. [2022-04-28 14:14:26,836 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 61 states. [2022-04-28 14:14:26,838 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:14:26,838 INFO L93 Difference]: Finished difference Result 61 states and 67 transitions. [2022-04-28 14:14:26,838 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 67 transitions. [2022-04-28 14:14:26,838 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:14:26,838 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:14:26,838 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:14:26,838 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:14:26,838 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:14:26,839 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-28 14:14:26,839 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 46 [2022-04-28 14:14:26,839 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:14:26,839 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-28 14:14:26,839 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:14:26,839 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-28 14:14:36,618 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 52 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-28 14:14:36,618 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-28 14:14:36,619 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 14:14:36,619 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:14:36,619 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:14:36,634 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:14:36,819 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:14:36,820 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:14:36,820 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:14:36,820 INFO L85 PathProgramCache]: Analyzing trace with hash 4200374, now seen corresponding path program 3 times [2022-04-28 14:14:36,820 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:14:36,820 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [687354208] [2022-04-28 14:14:36,820 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:14:36,820 INFO L85 PathProgramCache]: Analyzing trace with hash 4200374, now seen corresponding path program 4 times [2022-04-28 14:14:36,820 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:14:36,820 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1764034072] [2022-04-28 14:14:36,820 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:14:36,821 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:14:36,830 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:14:36,830 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [253663401] [2022-04-28 14:14:36,830 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 14:14:36,830 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:14:36,830 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:14:36,831 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:14:36,832 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-28 14:14:36,869 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 14:14:36,869 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:14:36,870 INFO L263 TraceCheckSpWp]: Trace formula consists of 96 conjuncts, 45 conjunts are in the unsatisfiable core [2022-04-28 14:14:36,886 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:14:36,887 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:14:38,784 INFO L272 TraceCheckUtils]: 0: Hoare triple {3867#true} call ULTIMATE.init(); {3867#true} is VALID [2022-04-28 14:14:38,785 INFO L290 TraceCheckUtils]: 1: Hoare triple {3867#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); {3867#true} is VALID [2022-04-28 14:14:38,785 INFO L290 TraceCheckUtils]: 2: Hoare triple {3867#true} assume true; {3867#true} is VALID [2022-04-28 14:14:38,785 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3867#true} {3867#true} #71#return; {3867#true} is VALID [2022-04-28 14:14:38,785 INFO L272 TraceCheckUtils]: 4: Hoare triple {3867#true} call #t~ret6 := main(); {3867#true} is VALID [2022-04-28 14:14:38,785 INFO L290 TraceCheckUtils]: 5: Hoare triple {3867#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; {3867#true} is VALID [2022-04-28 14:14:38,785 INFO L272 TraceCheckUtils]: 6: Hoare triple {3867#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {3867#true} is VALID [2022-04-28 14:14:38,785 INFO L290 TraceCheckUtils]: 7: Hoare triple {3867#true} ~cond := #in~cond; {3893#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:14:38,786 INFO L290 TraceCheckUtils]: 8: Hoare triple {3893#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3897#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:14:38,786 INFO L290 TraceCheckUtils]: 9: Hoare triple {3897#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3897#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:14:38,786 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3897#(not (= |assume_abort_if_not_#in~cond| 0))} {3867#true} #61#return; {3904#(and (<= 0 main_~a~0) (<= main_~a~0 10))} is VALID [2022-04-28 14:14:38,787 INFO L290 TraceCheckUtils]: 11: Hoare triple {3904#(and (<= 0 main_~a~0) (<= main_~a~0 10))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3904#(and (<= 0 main_~a~0) (<= main_~a~0 10))} is VALID [2022-04-28 14:14:38,787 INFO L272 TraceCheckUtils]: 12: Hoare triple {3904#(and (<= 0 main_~a~0) (<= main_~a~0 10))} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {3867#true} is VALID [2022-04-28 14:14:38,787 INFO L290 TraceCheckUtils]: 13: Hoare triple {3867#true} ~cond := #in~cond; {3893#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:14:38,787 INFO L290 TraceCheckUtils]: 14: Hoare triple {3893#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3897#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:14:38,788 INFO L290 TraceCheckUtils]: 15: Hoare triple {3897#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3897#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:14:38,788 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3897#(not (= |assume_abort_if_not_#in~cond| 0))} {3904#(and (<= 0 main_~a~0) (<= main_~a~0 10))} #63#return; {3923#(and (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} is VALID [2022-04-28 14:14:38,788 INFO L272 TraceCheckUtils]: 17: Hoare triple {3923#(and (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3867#true} is VALID [2022-04-28 14:14:38,788 INFO L290 TraceCheckUtils]: 18: Hoare triple {3867#true} ~cond := #in~cond; {3867#true} is VALID [2022-04-28 14:14:38,789 INFO L290 TraceCheckUtils]: 19: Hoare triple {3867#true} assume !(0 == ~cond); {3867#true} is VALID [2022-04-28 14:14:38,789 INFO L290 TraceCheckUtils]: 20: Hoare triple {3867#true} assume true; {3867#true} is VALID [2022-04-28 14:14:38,789 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3867#true} {3923#(and (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} #65#return; {3923#(and (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} is VALID [2022-04-28 14:14:38,789 INFO L290 TraceCheckUtils]: 22: Hoare triple {3923#(and (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3942#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} is VALID [2022-04-28 14:14:38,790 INFO L290 TraceCheckUtils]: 23: Hoare triple {3942#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} assume !false; {3942#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} is VALID [2022-04-28 14:14:38,790 INFO L272 TraceCheckUtils]: 24: Hoare triple {3942#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3867#true} is VALID [2022-04-28 14:14:38,790 INFO L290 TraceCheckUtils]: 25: Hoare triple {3867#true} ~cond := #in~cond; {3952#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:14:38,790 INFO L290 TraceCheckUtils]: 26: Hoare triple {3952#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:14:38,791 INFO L290 TraceCheckUtils]: 27: Hoare triple {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:14:38,791 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} {3942#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} #67#return; {3942#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} is VALID [2022-04-28 14:14:38,791 INFO L290 TraceCheckUtils]: 29: Hoare triple {3942#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} assume !!(0 != ~y~0); {3966#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} is VALID [2022-04-28 14:14:38,792 INFO L290 TraceCheckUtils]: 30: Hoare triple {3966#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3970#(and (= main_~z~0 0) (not (= main_~y~0 0)) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} is VALID [2022-04-28 14:14:38,793 INFO L290 TraceCheckUtils]: 31: Hoare triple {3970#(and (= main_~z~0 0) (not (= main_~y~0 0)) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} is VALID [2022-04-28 14:14:38,793 INFO L290 TraceCheckUtils]: 32: Hoare triple {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} assume !false; {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} is VALID [2022-04-28 14:14:38,793 INFO L272 TraceCheckUtils]: 33: Hoare triple {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3867#true} is VALID [2022-04-28 14:14:38,793 INFO L290 TraceCheckUtils]: 34: Hoare triple {3867#true} ~cond := #in~cond; {3952#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:14:38,794 INFO L290 TraceCheckUtils]: 35: Hoare triple {3952#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:14:38,794 INFO L290 TraceCheckUtils]: 36: Hoare triple {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:14:38,794 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} #67#return; {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} is VALID [2022-04-28 14:14:38,795 INFO L290 TraceCheckUtils]: 38: Hoare triple {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} assume !!(0 != ~y~0); {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} is VALID [2022-04-28 14:14:38,796 INFO L290 TraceCheckUtils]: 39: Hoare triple {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} 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; {3999#(and (= main_~z~0 main_~x~0) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= (mod main_~b~0 2) 1)) (= (div main_~b~0 2) (+ main_~y~0 1)) (<= main_~b~0 10) (<= main_~a~0 10) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-28 14:14:38,797 INFO L290 TraceCheckUtils]: 40: Hoare triple {3999#(and (= main_~z~0 main_~x~0) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= (mod main_~b~0 2) 1)) (= (div main_~b~0 2) (+ main_~y~0 1)) (<= main_~b~0 10) (<= main_~a~0 10) (<= 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); {4003#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (<= 0 main_~a~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= main_~b~0 10) (<= main_~a~0 10) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-28 14:14:38,798 INFO L290 TraceCheckUtils]: 41: Hoare triple {4003#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (<= 0 main_~a~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= main_~b~0 10) (<= main_~a~0 10) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} assume !false; {4003#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (<= 0 main_~a~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= main_~b~0 10) (<= main_~a~0 10) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-28 14:14:38,814 INFO L272 TraceCheckUtils]: 42: Hoare triple {4003#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (<= 0 main_~a~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= main_~b~0 10) (<= main_~a~0 10) (<= 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)); {4010#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:14:38,815 INFO L290 TraceCheckUtils]: 43: Hoare triple {4010#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4014#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:14:38,815 INFO L290 TraceCheckUtils]: 44: Hoare triple {4014#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3868#false} is VALID [2022-04-28 14:14:38,815 INFO L290 TraceCheckUtils]: 45: Hoare triple {3868#false} assume !false; {3868#false} is VALID [2022-04-28 14:14:38,815 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 2 proven. 17 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-28 14:14:38,816 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:15:18,192 INFO L290 TraceCheckUtils]: 45: Hoare triple {3868#false} assume !false; {3868#false} is VALID [2022-04-28 14:15:18,192 INFO L290 TraceCheckUtils]: 44: Hoare triple {4014#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3868#false} is VALID [2022-04-28 14:15:18,193 INFO L290 TraceCheckUtils]: 43: Hoare triple {4010#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4014#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:15:18,193 INFO L272 TraceCheckUtils]: 42: Hoare triple {4030#(= (+ 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)); {4010#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:15:18,194 INFO L290 TraceCheckUtils]: 41: Hoare triple {4030#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {4030#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:15:18,223 INFO L290 TraceCheckUtils]: 40: Hoare triple {4037#(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); {4030#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:15:18,226 INFO L290 TraceCheckUtils]: 39: Hoare triple {4041#(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; {4037#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 14:15:18,226 INFO L290 TraceCheckUtils]: 38: Hoare triple {4041#(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); {4041#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 14:15:20,229 WARN L284 TraceCheckUtils]: 37: Hoare quadruple {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} {3867#true} #67#return; {4041#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is UNKNOWN [2022-04-28 14:15:20,229 INFO L290 TraceCheckUtils]: 36: Hoare triple {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:15:20,230 INFO L290 TraceCheckUtils]: 35: Hoare triple {4057#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:15:20,230 INFO L290 TraceCheckUtils]: 34: Hoare triple {3867#true} ~cond := #in~cond; {4057#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:15:20,230 INFO L272 TraceCheckUtils]: 33: Hoare triple {3867#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3867#true} is VALID [2022-04-28 14:15:20,230 INFO L290 TraceCheckUtils]: 32: Hoare triple {3867#true} assume !false; {3867#true} is VALID [2022-04-28 14:15:20,230 INFO L290 TraceCheckUtils]: 31: Hoare triple {3867#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); {3867#true} is VALID [2022-04-28 14:15:20,230 INFO L290 TraceCheckUtils]: 30: Hoare triple {3867#true} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3867#true} is VALID [2022-04-28 14:15:20,230 INFO L290 TraceCheckUtils]: 29: Hoare triple {3867#true} assume !!(0 != ~y~0); {3867#true} is VALID [2022-04-28 14:15:20,230 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3867#true} {3867#true} #67#return; {3867#true} is VALID [2022-04-28 14:15:20,230 INFO L290 TraceCheckUtils]: 27: Hoare triple {3867#true} assume true; {3867#true} is VALID [2022-04-28 14:15:20,230 INFO L290 TraceCheckUtils]: 26: Hoare triple {3867#true} assume !(0 == ~cond); {3867#true} is VALID [2022-04-28 14:15:20,230 INFO L290 TraceCheckUtils]: 25: Hoare triple {3867#true} ~cond := #in~cond; {3867#true} is VALID [2022-04-28 14:15:20,230 INFO L272 TraceCheckUtils]: 24: Hoare triple {3867#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3867#true} is VALID [2022-04-28 14:15:20,231 INFO L290 TraceCheckUtils]: 23: Hoare triple {3867#true} assume !false; {3867#true} is VALID [2022-04-28 14:15:20,231 INFO L290 TraceCheckUtils]: 22: Hoare triple {3867#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3867#true} is VALID [2022-04-28 14:15:20,231 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3867#true} {3867#true} #65#return; {3867#true} is VALID [2022-04-28 14:15:20,231 INFO L290 TraceCheckUtils]: 20: Hoare triple {3867#true} assume true; {3867#true} is VALID [2022-04-28 14:15:20,231 INFO L290 TraceCheckUtils]: 19: Hoare triple {3867#true} assume !(0 == ~cond); {3867#true} is VALID [2022-04-28 14:15:20,231 INFO L290 TraceCheckUtils]: 18: Hoare triple {3867#true} ~cond := #in~cond; {3867#true} is VALID [2022-04-28 14:15:20,231 INFO L272 TraceCheckUtils]: 17: Hoare triple {3867#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3867#true} is VALID [2022-04-28 14:15:20,231 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3867#true} {3867#true} #63#return; {3867#true} is VALID [2022-04-28 14:15:20,231 INFO L290 TraceCheckUtils]: 15: Hoare triple {3867#true} assume true; {3867#true} is VALID [2022-04-28 14:15:20,231 INFO L290 TraceCheckUtils]: 14: Hoare triple {3867#true} assume !(0 == ~cond); {3867#true} is VALID [2022-04-28 14:15:20,231 INFO L290 TraceCheckUtils]: 13: Hoare triple {3867#true} ~cond := #in~cond; {3867#true} is VALID [2022-04-28 14:15:20,231 INFO L272 TraceCheckUtils]: 12: Hoare triple {3867#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {3867#true} is VALID [2022-04-28 14:15:20,231 INFO L290 TraceCheckUtils]: 11: Hoare triple {3867#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3867#true} is VALID [2022-04-28 14:15:20,231 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3867#true} {3867#true} #61#return; {3867#true} is VALID [2022-04-28 14:15:20,231 INFO L290 TraceCheckUtils]: 9: Hoare triple {3867#true} assume true; {3867#true} is VALID [2022-04-28 14:15:20,231 INFO L290 TraceCheckUtils]: 8: Hoare triple {3867#true} assume !(0 == ~cond); {3867#true} is VALID [2022-04-28 14:15:20,231 INFO L290 TraceCheckUtils]: 7: Hoare triple {3867#true} ~cond := #in~cond; {3867#true} is VALID [2022-04-28 14:15:20,231 INFO L272 TraceCheckUtils]: 6: Hoare triple {3867#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {3867#true} is VALID [2022-04-28 14:15:20,232 INFO L290 TraceCheckUtils]: 5: Hoare triple {3867#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; {3867#true} is VALID [2022-04-28 14:15:20,232 INFO L272 TraceCheckUtils]: 4: Hoare triple {3867#true} call #t~ret6 := main(); {3867#true} is VALID [2022-04-28 14:15:20,232 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3867#true} {3867#true} #71#return; {3867#true} is VALID [2022-04-28 14:15:20,232 INFO L290 TraceCheckUtils]: 2: Hoare triple {3867#true} assume true; {3867#true} is VALID [2022-04-28 14:15:20,232 INFO L290 TraceCheckUtils]: 1: Hoare triple {3867#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); {3867#true} is VALID [2022-04-28 14:15:20,232 INFO L272 TraceCheckUtils]: 0: Hoare triple {3867#true} call ULTIMATE.init(); {3867#true} is VALID [2022-04-28 14:15:20,232 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:15:20,232 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:15:20,232 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1764034072] [2022-04-28 14:15:20,232 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:15:20,232 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [253663401] [2022-04-28 14:15:20,232 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [253663401] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:15:20,232 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:15:20,232 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 9] total 20 [2022-04-28 14:15:20,233 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:15:20,234 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [687354208] [2022-04-28 14:15:20,234 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [687354208] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:15:20,234 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:15:20,234 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 14:15:20,234 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [762856098] [2022-04-28 14:15:20,234 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:15:20,236 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) Word has length 46 [2022-04-28 14:15:20,236 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:15:20,236 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 14:15:20,278 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:15:20,278 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 14:15:20,278 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:15:20,278 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 14:15:20,278 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=72, Invalid=308, Unknown=0, NotChecked=0, Total=380 [2022-04-28 14:15:20,279 INFO L87 Difference]: Start difference. First operand 50 states and 55 transitions. Second operand has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 14:15:21,379 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:15:21,379 INFO L93 Difference]: Finished difference Result 72 states and 79 transitions. [2022-04-28 14:15:21,379 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 14:15:21,379 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) Word has length 46 [2022-04-28 14:15:21,379 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:15:21,379 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 14:15:21,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 56 transitions. [2022-04-28 14:15:21,381 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 14:15:21,381 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 56 transitions. [2022-04-28 14:15:21,382 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 56 transitions. [2022-04-28 14:15:21,498 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:15:21,499 INFO L225 Difference]: With dead ends: 72 [2022-04-28 14:15:21,500 INFO L226 Difference]: Without dead ends: 70 [2022-04-28 14:15:21,500 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 69 SyntacticMatches, 4 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 111 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=89, Invalid=417, Unknown=0, NotChecked=0, Total=506 [2022-04-28 14:15:21,502 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 34 mSDsluCounter, 125 mSDsCounter, 0 mSdLazyCounter, 316 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 329 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 316 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 14:15:21,502 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [37 Valid, 146 Invalid, 329 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 316 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 14:15:21,502 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-28 14:15:21,597 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 59. [2022-04-28 14:15:21,598 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:15:21,598 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 42 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:15:21,598 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 42 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:15:21,598 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 42 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:15:21,600 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:15:21,600 INFO L93 Difference]: Finished difference Result 70 states and 77 transitions. [2022-04-28 14:15:21,600 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 77 transitions. [2022-04-28 14:15:21,600 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:15:21,600 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:15:21,600 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 42 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 70 states. [2022-04-28 14:15:21,600 INFO L87 Difference]: Start difference. First operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 42 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 70 states. [2022-04-28 14:15:21,602 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:15:21,602 INFO L93 Difference]: Finished difference Result 70 states and 77 transitions. [2022-04-28 14:15:21,602 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 77 transitions. [2022-04-28 14:15:21,602 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:15:21,602 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:15:21,602 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:15:21,602 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:15:21,602 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 42 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:15:21,603 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 65 transitions. [2022-04-28 14:15:21,603 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 65 transitions. Word has length 46 [2022-04-28 14:15:21,603 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:15:21,603 INFO L495 AbstractCegarLoop]: Abstraction has 59 states and 65 transitions. [2022-04-28 14:15:21,603 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 14:15:21,604 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 65 transitions. [2022-04-28 14:15:26,155 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 64 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 14:15:26,156 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 65 transitions. [2022-04-28 14:15:26,156 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 14:15:26,156 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:15:26,156 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:15:26,172 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-28 14:15:26,356 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-28 14:15:26,357 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:15:26,357 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:15:26,357 INFO L85 PathProgramCache]: Analyzing trace with hash 1779207736, now seen corresponding path program 3 times [2022-04-28 14:15:26,357 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:15:26,357 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1286020952] [2022-04-28 14:15:26,358 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:15:26,358 INFO L85 PathProgramCache]: Analyzing trace with hash 1779207736, now seen corresponding path program 4 times [2022-04-28 14:15:26,358 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:15:26,358 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1189540635] [2022-04-28 14:15:26,358 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:15:26,358 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:15:26,369 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:15:26,369 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1936975007] [2022-04-28 14:15:26,369 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 14:15:26,369 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:15:26,369 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:15:26,373 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:15:26,374 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-28 14:15:26,422 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 14:15:26,422 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:15:26,423 INFO L263 TraceCheckSpWp]: Trace formula consists of 91 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-28 14:15:26,434 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:15:26,437 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:15:28,102 INFO L272 TraceCheckUtils]: 0: Hoare triple {4570#true} call ULTIMATE.init(); {4570#true} is VALID [2022-04-28 14:15:28,102 INFO L290 TraceCheckUtils]: 1: Hoare triple {4570#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); {4570#true} is VALID [2022-04-28 14:15:28,102 INFO L290 TraceCheckUtils]: 2: Hoare triple {4570#true} assume true; {4570#true} is VALID [2022-04-28 14:15:28,102 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4570#true} {4570#true} #71#return; {4570#true} is VALID [2022-04-28 14:15:28,102 INFO L272 TraceCheckUtils]: 4: Hoare triple {4570#true} call #t~ret6 := main(); {4570#true} is VALID [2022-04-28 14:15:28,102 INFO L290 TraceCheckUtils]: 5: Hoare triple {4570#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; {4570#true} is VALID [2022-04-28 14:15:28,102 INFO L272 TraceCheckUtils]: 6: Hoare triple {4570#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {4570#true} is VALID [2022-04-28 14:15:28,102 INFO L290 TraceCheckUtils]: 7: Hoare triple {4570#true} ~cond := #in~cond; {4570#true} is VALID [2022-04-28 14:15:28,102 INFO L290 TraceCheckUtils]: 8: Hoare triple {4570#true} assume !(0 == ~cond); {4570#true} is VALID [2022-04-28 14:15:28,102 INFO L290 TraceCheckUtils]: 9: Hoare triple {4570#true} assume true; {4570#true} is VALID [2022-04-28 14:15:28,103 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4570#true} {4570#true} #61#return; {4570#true} is VALID [2022-04-28 14:15:28,103 INFO L290 TraceCheckUtils]: 11: Hoare triple {4570#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4570#true} is VALID [2022-04-28 14:15:28,103 INFO L272 TraceCheckUtils]: 12: Hoare triple {4570#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {4570#true} is VALID [2022-04-28 14:15:28,103 INFO L290 TraceCheckUtils]: 13: Hoare triple {4570#true} ~cond := #in~cond; {4614#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:15:28,103 INFO L290 TraceCheckUtils]: 14: Hoare triple {4614#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4618#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:15:28,103 INFO L290 TraceCheckUtils]: 15: Hoare triple {4618#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4618#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:15:28,104 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4618#(not (= |assume_abort_if_not_#in~cond| 0))} {4570#true} #63#return; {4625#(and (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-28 14:15:28,104 INFO L272 TraceCheckUtils]: 17: Hoare triple {4625#(and (<= 0 main_~b~0) (<= main_~b~0 10))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4570#true} is VALID [2022-04-28 14:15:28,104 INFO L290 TraceCheckUtils]: 18: Hoare triple {4570#true} ~cond := #in~cond; {4570#true} is VALID [2022-04-28 14:15:28,104 INFO L290 TraceCheckUtils]: 19: Hoare triple {4570#true} assume !(0 == ~cond); {4570#true} is VALID [2022-04-28 14:15:28,104 INFO L290 TraceCheckUtils]: 20: Hoare triple {4570#true} assume true; {4570#true} is VALID [2022-04-28 14:15:28,104 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4570#true} {4625#(and (<= 0 main_~b~0) (<= main_~b~0 10))} #65#return; {4625#(and (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-28 14:15:28,104 INFO L290 TraceCheckUtils]: 22: Hoare triple {4625#(and (<= 0 main_~b~0) (<= main_~b~0 10))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4644#(and (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:15:28,105 INFO L290 TraceCheckUtils]: 23: Hoare triple {4644#(and (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} assume !false; {4644#(and (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:15:28,105 INFO L272 TraceCheckUtils]: 24: Hoare triple {4644#(and (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4570#true} is VALID [2022-04-28 14:15:28,105 INFO L290 TraceCheckUtils]: 25: Hoare triple {4570#true} ~cond := #in~cond; {4654#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:15:28,105 INFO L290 TraceCheckUtils]: 26: Hoare triple {4654#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4658#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:15:28,106 INFO L290 TraceCheckUtils]: 27: Hoare triple {4658#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4658#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:15:28,107 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4658#(not (= |__VERIFIER_assert_#in~cond| 0))} {4644#(and (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} #67#return; {4665#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:15:28,107 INFO L290 TraceCheckUtils]: 29: Hoare triple {4665#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {4669#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:15:28,108 INFO L290 TraceCheckUtils]: 30: Hoare triple {4669#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= 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)); {4673#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:15:28,108 INFO L290 TraceCheckUtils]: 31: Hoare triple {4673#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= 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); {4677#(and (= main_~y~0 (div 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) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 14:15:28,108 INFO L290 TraceCheckUtils]: 32: Hoare triple {4677#(and (= main_~y~0 (div 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) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} assume !false; {4677#(and (= main_~y~0 (div 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) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 14:15:28,108 INFO L272 TraceCheckUtils]: 33: Hoare triple {4677#(and (= main_~y~0 (div 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) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4570#true} is VALID [2022-04-28 14:15:28,109 INFO L290 TraceCheckUtils]: 34: Hoare triple {4570#true} ~cond := #in~cond; {4654#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:15:28,109 INFO L290 TraceCheckUtils]: 35: Hoare triple {4654#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4658#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:15:28,109 INFO L290 TraceCheckUtils]: 36: Hoare triple {4658#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4658#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:15:28,109 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4658#(not (= |__VERIFIER_assert_#in~cond| 0))} {4677#(and (= main_~y~0 (div 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) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} #67#return; {4677#(and (= main_~y~0 (div 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) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 14:15:28,110 INFO L290 TraceCheckUtils]: 38: Hoare triple {4677#(and (= main_~y~0 (div 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) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} assume !!(0 != ~y~0); {4677#(and (= main_~y~0 (div 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) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 14:15:28,110 INFO L290 TraceCheckUtils]: 39: Hoare triple {4677#(and (= main_~y~0 (div 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) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4702#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-28 14:15:28,111 INFO L290 TraceCheckUtils]: 40: Hoare triple {4702#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4706#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-28 14:15:28,112 INFO L290 TraceCheckUtils]: 41: Hoare triple {4706#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10))} assume !false; {4706#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-28 14:15:28,113 INFO L272 TraceCheckUtils]: 42: Hoare triple {4706#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4713#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:15:28,114 INFO L290 TraceCheckUtils]: 43: Hoare triple {4713#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4717#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:15:28,114 INFO L290 TraceCheckUtils]: 44: Hoare triple {4717#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4571#false} is VALID [2022-04-28 14:15:28,114 INFO L290 TraceCheckUtils]: 45: Hoare triple {4571#false} assume !false; {4571#false} is VALID [2022-04-28 14:15:28,114 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 5 proven. 14 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-28 14:15:28,114 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:18:47,054 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:18:47,054 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1189540635] [2022-04-28 14:18:47,055 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:18:47,055 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1936975007] [2022-04-28 14:18:47,055 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1936975007] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 14:18:47,055 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 14:18:47,055 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16] total 16 [2022-04-28 14:18:47,055 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:18:47,055 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1286020952] [2022-04-28 14:18:47,056 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1286020952] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:18:47,056 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:18:47,056 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 14:18:47,056 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1092684870] [2022-04-28 14:18:47,056 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:18:47,056 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.625) internal successors, (26), 13 states have internal predecessors, (26), 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:18:47,056 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:18:47,056 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 1.625) internal successors, (26), 13 states have internal predecessors, (26), 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:18:47,089 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:18:47,089 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 14:18:47,089 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:18:47,089 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 14:18:47,089 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=99, Invalid=407, Unknown=0, NotChecked=0, Total=506 [2022-04-28 14:18:47,089 INFO L87 Difference]: Start difference. First operand 59 states and 65 transitions. Second operand has 16 states, 16 states have (on average 1.625) internal successors, (26), 13 states have internal predecessors, (26), 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:18:48,143 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:18:48,143 INFO L93 Difference]: Finished difference Result 71 states and 78 transitions. [2022-04-28 14:18:48,143 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 14:18:48,143 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.625) internal successors, (26), 13 states have internal predecessors, (26), 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:18:48,143 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:18:48,143 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.625) internal successors, (26), 13 states have internal predecessors, (26), 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:18:48,144 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 55 transitions. [2022-04-28 14:18:48,144 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.625) internal successors, (26), 13 states have internal predecessors, (26), 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:18:48,145 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 55 transitions. [2022-04-28 14:18:48,145 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 55 transitions. [2022-04-28 14:18:48,194 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:18:48,195 INFO L225 Difference]: With dead ends: 71 [2022-04-28 14:18:48,195 INFO L226 Difference]: Without dead ends: 69 [2022-04-28 14:18:48,196 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 38 SyntacticMatches, 4 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 179 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=116, Invalid=534, Unknown=0, NotChecked=0, Total=650 [2022-04-28 14:18:48,196 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 30 mSDsluCounter, 123 mSDsCounter, 0 mSdLazyCounter, 285 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 294 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 285 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 14:18:48,196 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 144 Invalid, 294 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 285 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 14:18:48,197 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2022-04-28 14:18:48,289 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 50. [2022-04-28 14:18:48,289 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:18:48,289 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:18:48,289 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:18:48,290 INFO L87 Difference]: Start difference. First operand 69 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:18:48,291 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:18:48,291 INFO L93 Difference]: Finished difference Result 69 states and 76 transitions. [2022-04-28 14:18:48,291 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 76 transitions. [2022-04-28 14:18:48,291 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:18:48,291 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:18:48,291 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 69 states. [2022-04-28 14:18:48,291 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 69 states. [2022-04-28 14:18:48,292 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:18:48,292 INFO L93 Difference]: Finished difference Result 69 states and 76 transitions. [2022-04-28 14:18:48,292 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 76 transitions. [2022-04-28 14:18:48,293 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:18:48,293 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:18:48,293 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:18:48,293 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:18:48,293 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:18:48,293 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-28 14:18:48,294 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 46 [2022-04-28 14:18:48,294 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:18:48,294 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-28 14:18:48,294 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 1.625) internal successors, (26), 13 states have internal predecessors, (26), 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:18:48,294 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-28 14:18:53,111 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 54 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 14:18:53,111 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-28 14:18:53,112 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 14:18:53,112 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:18:53,112 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:18:53,128 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-28 14:18:53,312 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-28 14:18:53,312 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:18:53,313 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:18:53,313 INFO L85 PathProgramCache]: Analyzing trace with hash 1060406066, now seen corresponding path program 5 times [2022-04-28 14:18:53,313 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:18:53,313 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [100756781] [2022-04-28 14:18:53,313 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:18:53,313 INFO L85 PathProgramCache]: Analyzing trace with hash 1060406066, now seen corresponding path program 6 times [2022-04-28 14:18:53,313 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:18:53,313 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1348945437] [2022-04-28 14:18:53,313 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:18:53,313 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:18:53,329 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:18:53,329 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [733420027] [2022-04-28 14:18:53,330 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 14:18:53,330 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:18:53,330 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:18:53,343 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:18:53,352 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-28 14:18:53,388 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 14:18:53,388 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:18:53,389 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-28 14:18:53,401 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:18:53,402 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:19:12,945 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 14:19:17,957 INFO L272 TraceCheckUtils]: 0: Hoare triple {5170#true} call ULTIMATE.init(); {5170#true} is VALID [2022-04-28 14:19:17,957 INFO L290 TraceCheckUtils]: 1: Hoare triple {5170#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); {5170#true} is VALID [2022-04-28 14:19:17,957 INFO L290 TraceCheckUtils]: 2: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-28 14:19:17,957 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5170#true} {5170#true} #71#return; {5170#true} is VALID [2022-04-28 14:19:17,957 INFO L272 TraceCheckUtils]: 4: Hoare triple {5170#true} call #t~ret6 := main(); {5170#true} is VALID [2022-04-28 14:19:17,957 INFO L290 TraceCheckUtils]: 5: Hoare triple {5170#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; {5170#true} is VALID [2022-04-28 14:19:17,957 INFO L272 TraceCheckUtils]: 6: Hoare triple {5170#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {5170#true} is VALID [2022-04-28 14:19:17,957 INFO L290 TraceCheckUtils]: 7: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-28 14:19:17,957 INFO L290 TraceCheckUtils]: 8: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-28 14:19:17,957 INFO L290 TraceCheckUtils]: 9: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-28 14:19:17,957 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5170#true} {5170#true} #61#return; {5170#true} is VALID [2022-04-28 14:19:17,957 INFO L290 TraceCheckUtils]: 11: Hoare triple {5170#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5170#true} is VALID [2022-04-28 14:19:17,958 INFO L272 TraceCheckUtils]: 12: Hoare triple {5170#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {5170#true} is VALID [2022-04-28 14:19:17,958 INFO L290 TraceCheckUtils]: 13: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-28 14:19:17,958 INFO L290 TraceCheckUtils]: 14: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-28 14:19:17,958 INFO L290 TraceCheckUtils]: 15: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-28 14:19:17,958 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5170#true} {5170#true} #63#return; {5170#true} is VALID [2022-04-28 14:19:17,958 INFO L272 TraceCheckUtils]: 17: Hoare triple {5170#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5170#true} is VALID [2022-04-28 14:19:17,958 INFO L290 TraceCheckUtils]: 18: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-28 14:19:17,958 INFO L290 TraceCheckUtils]: 19: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-28 14:19:17,958 INFO L290 TraceCheckUtils]: 20: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-28 14:19:17,958 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5170#true} {5170#true} #65#return; {5170#true} is VALID [2022-04-28 14:19:17,958 INFO L290 TraceCheckUtils]: 22: Hoare triple {5170#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5170#true} is VALID [2022-04-28 14:19:17,958 INFO L290 TraceCheckUtils]: 23: Hoare triple {5170#true} assume !false; {5170#true} is VALID [2022-04-28 14:19:17,958 INFO L272 TraceCheckUtils]: 24: Hoare triple {5170#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5170#true} is VALID [2022-04-28 14:19:17,958 INFO L290 TraceCheckUtils]: 25: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-28 14:19:17,958 INFO L290 TraceCheckUtils]: 26: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-28 14:19:17,958 INFO L290 TraceCheckUtils]: 27: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-28 14:19:17,958 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5170#true} {5170#true} #67#return; {5170#true} is VALID [2022-04-28 14:19:17,958 INFO L290 TraceCheckUtils]: 29: Hoare triple {5170#true} assume !!(0 != ~y~0); {5170#true} is VALID [2022-04-28 14:19:17,959 INFO L290 TraceCheckUtils]: 30: Hoare triple {5170#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; {5170#true} is VALID [2022-04-28 14:19:17,959 INFO L290 TraceCheckUtils]: 31: Hoare triple {5170#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); {5170#true} is VALID [2022-04-28 14:19:17,959 INFO L290 TraceCheckUtils]: 32: Hoare triple {5170#true} assume !false; {5170#true} is VALID [2022-04-28 14:19:17,959 INFO L272 TraceCheckUtils]: 33: Hoare triple {5170#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5170#true} is VALID [2022-04-28 14:19:17,959 INFO L290 TraceCheckUtils]: 34: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-28 14:19:17,959 INFO L290 TraceCheckUtils]: 35: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-28 14:19:17,959 INFO L290 TraceCheckUtils]: 36: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-28 14:19:17,959 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5170#true} {5170#true} #67#return; {5170#true} is VALID [2022-04-28 14:19:17,959 INFO L290 TraceCheckUtils]: 38: Hoare triple {5170#true} assume !!(0 != ~y~0); {5170#true} is VALID [2022-04-28 14:19:17,959 INFO L290 TraceCheckUtils]: 39: Hoare triple {5170#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; {5170#true} is VALID [2022-04-28 14:19:17,959 INFO L290 TraceCheckUtils]: 40: Hoare triple {5170#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); {5170#true} is VALID [2022-04-28 14:19:17,959 INFO L290 TraceCheckUtils]: 41: Hoare triple {5170#true} assume !false; {5170#true} is VALID [2022-04-28 14:19:17,959 INFO L272 TraceCheckUtils]: 42: Hoare triple {5170#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5170#true} is VALID [2022-04-28 14:19:17,959 INFO L290 TraceCheckUtils]: 43: Hoare triple {5170#true} ~cond := #in~cond; {5304#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:19:17,960 INFO L290 TraceCheckUtils]: 44: Hoare triple {5304#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5308#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:19:17,960 INFO L290 TraceCheckUtils]: 45: Hoare triple {5308#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5308#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:19:17,961 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5308#(not (= |__VERIFIER_assert_#in~cond| 0))} {5170#true} #67#return; {5315#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:19:17,961 INFO L290 TraceCheckUtils]: 47: Hoare triple {5315#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !!(0 != ~y~0); {5319#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 14:19:17,964 INFO L290 TraceCheckUtils]: 48: Hoare triple {5319#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {5323#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:19:18,396 INFO L290 TraceCheckUtils]: 49: Hoare triple {5323#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5327#(and (= (mod main_~x~0 2) 0) (exists ((aux_div_v_main_~y~0_59_28 Int) (aux_mod_v_main_~y~0_59_28 Int)) (and (= (+ (div (* (- 1) main_~x~0) (- 2)) (* main_~b~0 main_~a~0)) (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) aux_div_v_main_~y~0_59_28)) (* (div (* (- 1) main_~x~0) (- 2)) aux_mod_v_main_~y~0_59_28))) (< aux_mod_v_main_~y~0_59_28 2) (= main_~y~0 (div (+ (- 1) aux_mod_v_main_~y~0_59_28 (* aux_div_v_main_~y~0_59_28 2)) 2)) (<= 1 aux_mod_v_main_~y~0_59_28) (<= 0 (+ aux_mod_v_main_~y~0_59_28 (* aux_div_v_main_~y~0_59_28 2))))))} is VALID [2022-04-28 14:19:18,865 INFO L290 TraceCheckUtils]: 50: Hoare triple {5327#(and (= (mod main_~x~0 2) 0) (exists ((aux_div_v_main_~y~0_59_28 Int) (aux_mod_v_main_~y~0_59_28 Int)) (and (= (+ (div (* (- 1) main_~x~0) (- 2)) (* main_~b~0 main_~a~0)) (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) aux_div_v_main_~y~0_59_28)) (* (div (* (- 1) main_~x~0) (- 2)) aux_mod_v_main_~y~0_59_28))) (< aux_mod_v_main_~y~0_59_28 2) (= main_~y~0 (div (+ (- 1) aux_mod_v_main_~y~0_59_28 (* aux_div_v_main_~y~0_59_28 2)) 2)) (<= 1 aux_mod_v_main_~y~0_59_28) (<= 0 (+ aux_mod_v_main_~y~0_59_28 (* aux_div_v_main_~y~0_59_28 2))))))} assume !false; {5331#(and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 14:19:20,790 INFO L272 TraceCheckUtils]: 51: Hoare triple {5331#(and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5335#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:19:20,791 INFO L290 TraceCheckUtils]: 52: Hoare triple {5335#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5339#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:19:20,791 INFO L290 TraceCheckUtils]: 53: Hoare triple {5339#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5171#false} is VALID [2022-04-28 14:19:20,791 INFO L290 TraceCheckUtils]: 54: Hoare triple {5171#false} assume !false; {5171#false} is VALID [2022-04-28 14:19:20,791 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 23 proven. 1 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-04-28 14:19:20,791 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:20:06,341 INFO L290 TraceCheckUtils]: 54: Hoare triple {5171#false} assume !false; {5171#false} is VALID [2022-04-28 14:20:06,341 INFO L290 TraceCheckUtils]: 53: Hoare triple {5339#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5171#false} is VALID [2022-04-28 14:20:06,341 INFO L290 TraceCheckUtils]: 52: Hoare triple {5335#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5339#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:20:06,342 INFO L272 TraceCheckUtils]: 51: Hoare triple {5315#(= (+ 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)); {5335#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:20:06,342 INFO L290 TraceCheckUtils]: 50: Hoare triple {5315#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {5315#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:20:06,347 INFO L290 TraceCheckUtils]: 49: Hoare triple {5361#(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); {5315#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:20:06,349 INFO L290 TraceCheckUtils]: 48: Hoare triple {5365#(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; {5361#(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:20:06,350 INFO L290 TraceCheckUtils]: 47: Hoare triple {5365#(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); {5365#(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:20:06,930 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5308#(not (= |__VERIFIER_assert_#in~cond| 0))} {5170#true} #67#return; {5365#(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:20:06,930 INFO L290 TraceCheckUtils]: 45: Hoare triple {5308#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5308#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:20:06,930 INFO L290 TraceCheckUtils]: 44: Hoare triple {5381#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5308#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:20:06,931 INFO L290 TraceCheckUtils]: 43: Hoare triple {5170#true} ~cond := #in~cond; {5381#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:20:06,931 INFO L272 TraceCheckUtils]: 42: Hoare triple {5170#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5170#true} is VALID [2022-04-28 14:20:06,931 INFO L290 TraceCheckUtils]: 41: Hoare triple {5170#true} assume !false; {5170#true} is VALID [2022-04-28 14:20:06,931 INFO L290 TraceCheckUtils]: 40: Hoare triple {5170#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); {5170#true} is VALID [2022-04-28 14:20:06,931 INFO L290 TraceCheckUtils]: 39: Hoare triple {5170#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; {5170#true} is VALID [2022-04-28 14:20:06,931 INFO L290 TraceCheckUtils]: 38: Hoare triple {5170#true} assume !!(0 != ~y~0); {5170#true} is VALID [2022-04-28 14:20:06,931 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5170#true} {5170#true} #67#return; {5170#true} is VALID [2022-04-28 14:20:06,931 INFO L290 TraceCheckUtils]: 36: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-28 14:20:06,931 INFO L290 TraceCheckUtils]: 35: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-28 14:20:06,931 INFO L290 TraceCheckUtils]: 34: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-28 14:20:06,931 INFO L272 TraceCheckUtils]: 33: Hoare triple {5170#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5170#true} is VALID [2022-04-28 14:20:06,931 INFO L290 TraceCheckUtils]: 32: Hoare triple {5170#true} assume !false; {5170#true} is VALID [2022-04-28 14:20:06,931 INFO L290 TraceCheckUtils]: 31: Hoare triple {5170#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); {5170#true} is VALID [2022-04-28 14:20:06,932 INFO L290 TraceCheckUtils]: 30: Hoare triple {5170#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; {5170#true} is VALID [2022-04-28 14:20:06,932 INFO L290 TraceCheckUtils]: 29: Hoare triple {5170#true} assume !!(0 != ~y~0); {5170#true} is VALID [2022-04-28 14:20:06,932 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5170#true} {5170#true} #67#return; {5170#true} is VALID [2022-04-28 14:20:06,932 INFO L290 TraceCheckUtils]: 27: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-28 14:20:06,932 INFO L290 TraceCheckUtils]: 26: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-28 14:20:06,932 INFO L290 TraceCheckUtils]: 25: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-28 14:20:06,932 INFO L272 TraceCheckUtils]: 24: Hoare triple {5170#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5170#true} is VALID [2022-04-28 14:20:06,932 INFO L290 TraceCheckUtils]: 23: Hoare triple {5170#true} assume !false; {5170#true} is VALID [2022-04-28 14:20:06,932 INFO L290 TraceCheckUtils]: 22: Hoare triple {5170#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5170#true} is VALID [2022-04-28 14:20:06,932 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5170#true} {5170#true} #65#return; {5170#true} is VALID [2022-04-28 14:20:06,932 INFO L290 TraceCheckUtils]: 20: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-28 14:20:06,932 INFO L290 TraceCheckUtils]: 19: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-28 14:20:06,932 INFO L290 TraceCheckUtils]: 18: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-28 14:20:06,932 INFO L272 TraceCheckUtils]: 17: Hoare triple {5170#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5170#true} is VALID [2022-04-28 14:20:06,932 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5170#true} {5170#true} #63#return; {5170#true} is VALID [2022-04-28 14:20:06,933 INFO L290 TraceCheckUtils]: 15: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-28 14:20:06,933 INFO L290 TraceCheckUtils]: 14: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-28 14:20:06,933 INFO L290 TraceCheckUtils]: 13: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-28 14:20:06,933 INFO L272 TraceCheckUtils]: 12: Hoare triple {5170#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {5170#true} is VALID [2022-04-28 14:20:06,933 INFO L290 TraceCheckUtils]: 11: Hoare triple {5170#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5170#true} is VALID [2022-04-28 14:20:06,933 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5170#true} {5170#true} #61#return; {5170#true} is VALID [2022-04-28 14:20:06,933 INFO L290 TraceCheckUtils]: 9: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-28 14:20:06,933 INFO L290 TraceCheckUtils]: 8: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-28 14:20:06,933 INFO L290 TraceCheckUtils]: 7: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-28 14:20:06,933 INFO L272 TraceCheckUtils]: 6: Hoare triple {5170#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {5170#true} is VALID [2022-04-28 14:20:06,933 INFO L290 TraceCheckUtils]: 5: Hoare triple {5170#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; {5170#true} is VALID [2022-04-28 14:20:06,933 INFO L272 TraceCheckUtils]: 4: Hoare triple {5170#true} call #t~ret6 := main(); {5170#true} is VALID [2022-04-28 14:20:06,933 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5170#true} {5170#true} #71#return; {5170#true} is VALID [2022-04-28 14:20:06,933 INFO L290 TraceCheckUtils]: 2: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-28 14:20:06,933 INFO L290 TraceCheckUtils]: 1: Hoare triple {5170#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); {5170#true} is VALID [2022-04-28 14:20:06,933 INFO L272 TraceCheckUtils]: 0: Hoare triple {5170#true} call ULTIMATE.init(); {5170#true} is VALID [2022-04-28 14:20:06,934 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 23 proven. 1 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-04-28 14:20:06,934 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:20:06,934 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1348945437] [2022-04-28 14:20:06,934 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:20:06,934 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [733420027] [2022-04-28 14:20:06,934 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [733420027] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:20:06,934 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:20:06,934 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 14 [2022-04-28 14:20:06,934 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:20:06,934 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [100756781] [2022-04-28 14:20:06,934 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [100756781] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:20:06,934 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:20:06,934 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 14:20:06,934 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [909190041] [2022-04-28 14:20:06,934 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:20:06,935 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 55 [2022-04-28 14:20:06,935 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:20:06,935 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 14:20:10,760 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 37 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 14:20:10,760 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 14:20:10,760 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:20:10,761 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 14:20:10,761 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=140, Unknown=1, NotChecked=0, Total=182 [2022-04-28 14:20:10,761 INFO L87 Difference]: Start difference. First operand 50 states and 55 transitions. Second operand has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 14:20:20,328 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.97s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:20:24,943 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:20:28,126 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:20:28,126 INFO L93 Difference]: Finished difference Result 77 states and 84 transitions. [2022-04-28 14:20:28,126 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 14:20:28,126 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 55 [2022-04-28 14:20:28,127 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:20:28,127 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 14:20:28,127 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 44 transitions. [2022-04-28 14:20:28,127 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 14:20:28,128 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 44 transitions. [2022-04-28 14:20:28,128 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 44 transitions. [2022-04-28 14:20:34,072 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 43 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 14:20:34,074 INFO L225 Difference]: With dead ends: 77 [2022-04-28 14:20:34,074 INFO L226 Difference]: Without dead ends: 75 [2022-04-28 14:20:34,074 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 113 GetRequests, 95 SyntacticMatches, 3 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 66 ImplicationChecksByTransitivity, 13.3s TimeCoverageRelationStatistics Valid=61, Invalid=210, Unknown=1, NotChecked=0, Total=272 [2022-04-28 14:20:34,074 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 17 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 113 mSolverCounterSat, 5 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 142 SdHoareTripleChecker+Invalid, 121 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 113 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 2 IncrementalHoareTripleChecker+Unchecked, 6.7s IncrementalHoareTripleChecker+Time [2022-04-28 14:20:34,074 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 142 Invalid, 121 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 113 Invalid, 1 Unknown, 2 Unchecked, 6.7s Time] [2022-04-28 14:20:34,075 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2022-04-28 14:20:34,158 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 50. [2022-04-28 14:20:34,159 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:20:34,159 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:20:34,159 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:20:34,159 INFO L87 Difference]: Start difference. First operand 75 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:20:34,163 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:20:34,163 INFO L93 Difference]: Finished difference Result 75 states and 82 transitions. [2022-04-28 14:20:34,163 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 82 transitions. [2022-04-28 14:20:34,163 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:20:34,163 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:20:34,163 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 75 states. [2022-04-28 14:20:34,163 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 75 states. [2022-04-28 14:20:34,164 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:20:34,164 INFO L93 Difference]: Finished difference Result 75 states and 82 transitions. [2022-04-28 14:20:34,164 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 82 transitions. [2022-04-28 14:20:34,164 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:20:34,164 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:20:34,164 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:20:34,165 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:20:34,165 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:20:34,169 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-28 14:20:34,169 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 55 [2022-04-28 14:20:34,170 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:20:34,170 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-28 14:20:34,171 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 14:20:34,171 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-28 14:20:46,784 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 50 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-28 14:20:46,784 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-28 14:20:46,784 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 14:20:46,784 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:20:46,784 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:20:46,805 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-28 14:20:46,985 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-28 14:20:46,985 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:20:46,985 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:20:46,985 INFO L85 PathProgramCache]: Analyzing trace with hash -1459553868, now seen corresponding path program 5 times [2022-04-28 14:20:46,985 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:20:46,985 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [670509583] [2022-04-28 14:20:46,986 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:20:46,986 INFO L85 PathProgramCache]: Analyzing trace with hash -1459553868, now seen corresponding path program 6 times [2022-04-28 14:20:46,986 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:20:46,986 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1095718541] [2022-04-28 14:20:46,986 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:20:46,986 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:20:46,996 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:20:46,997 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1487948360] [2022-04-28 14:20:46,997 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 14:20:46,997 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:20:46,997 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:20:47,007 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:20:47,008 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-28 14:20:47,064 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 14:20:47,065 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:20:47,066 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 14:20:47,079 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:20:47,080 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:21:06,782 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 14:21:15,346 INFO L272 TraceCheckUtils]: 0: Hoare triple {5924#true} call ULTIMATE.init(); {5924#true} is VALID [2022-04-28 14:21:15,346 INFO L290 TraceCheckUtils]: 1: Hoare triple {5924#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); {5924#true} is VALID [2022-04-28 14:21:15,346 INFO L290 TraceCheckUtils]: 2: Hoare triple {5924#true} assume true; {5924#true} is VALID [2022-04-28 14:21:15,347 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5924#true} {5924#true} #71#return; {5924#true} is VALID [2022-04-28 14:21:15,347 INFO L272 TraceCheckUtils]: 4: Hoare triple {5924#true} call #t~ret6 := main(); {5924#true} is VALID [2022-04-28 14:21:15,347 INFO L290 TraceCheckUtils]: 5: Hoare triple {5924#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; {5924#true} is VALID [2022-04-28 14:21:15,347 INFO L272 TraceCheckUtils]: 6: Hoare triple {5924#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {5924#true} is VALID [2022-04-28 14:21:15,347 INFO L290 TraceCheckUtils]: 7: Hoare triple {5924#true} ~cond := #in~cond; {5924#true} is VALID [2022-04-28 14:21:15,347 INFO L290 TraceCheckUtils]: 8: Hoare triple {5924#true} assume !(0 == ~cond); {5924#true} is VALID [2022-04-28 14:21:15,347 INFO L290 TraceCheckUtils]: 9: Hoare triple {5924#true} assume true; {5924#true} is VALID [2022-04-28 14:21:15,347 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5924#true} {5924#true} #61#return; {5924#true} is VALID [2022-04-28 14:21:15,347 INFO L290 TraceCheckUtils]: 11: Hoare triple {5924#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5924#true} is VALID [2022-04-28 14:21:15,347 INFO L272 TraceCheckUtils]: 12: Hoare triple {5924#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {5924#true} is VALID [2022-04-28 14:21:15,347 INFO L290 TraceCheckUtils]: 13: Hoare triple {5924#true} ~cond := #in~cond; {5924#true} is VALID [2022-04-28 14:21:15,347 INFO L290 TraceCheckUtils]: 14: Hoare triple {5924#true} assume !(0 == ~cond); {5924#true} is VALID [2022-04-28 14:21:15,347 INFO L290 TraceCheckUtils]: 15: Hoare triple {5924#true} assume true; {5924#true} is VALID [2022-04-28 14:21:15,347 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5924#true} {5924#true} #63#return; {5924#true} is VALID [2022-04-28 14:21:15,347 INFO L272 TraceCheckUtils]: 17: Hoare triple {5924#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5924#true} is VALID [2022-04-28 14:21:15,347 INFO L290 TraceCheckUtils]: 18: Hoare triple {5924#true} ~cond := #in~cond; {5924#true} is VALID [2022-04-28 14:21:15,348 INFO L290 TraceCheckUtils]: 19: Hoare triple {5924#true} assume !(0 == ~cond); {5924#true} is VALID [2022-04-28 14:21:15,348 INFO L290 TraceCheckUtils]: 20: Hoare triple {5924#true} assume true; {5924#true} is VALID [2022-04-28 14:21:15,348 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5924#true} {5924#true} #65#return; {5924#true} is VALID [2022-04-28 14:21:15,348 INFO L290 TraceCheckUtils]: 22: Hoare triple {5924#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5924#true} is VALID [2022-04-28 14:21:15,348 INFO L290 TraceCheckUtils]: 23: Hoare triple {5924#true} assume !false; {5924#true} is VALID [2022-04-28 14:21:15,348 INFO L272 TraceCheckUtils]: 24: Hoare triple {5924#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5924#true} is VALID [2022-04-28 14:21:15,348 INFO L290 TraceCheckUtils]: 25: Hoare triple {5924#true} ~cond := #in~cond; {5924#true} is VALID [2022-04-28 14:21:15,348 INFO L290 TraceCheckUtils]: 26: Hoare triple {5924#true} assume !(0 == ~cond); {5924#true} is VALID [2022-04-28 14:21:15,348 INFO L290 TraceCheckUtils]: 27: Hoare triple {5924#true} assume true; {5924#true} is VALID [2022-04-28 14:21:15,348 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5924#true} {5924#true} #67#return; {5924#true} is VALID [2022-04-28 14:21:15,348 INFO L290 TraceCheckUtils]: 29: Hoare triple {5924#true} assume !!(0 != ~y~0); {5924#true} is VALID [2022-04-28 14:21:15,348 INFO L290 TraceCheckUtils]: 30: Hoare triple {5924#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; {5924#true} is VALID [2022-04-28 14:21:15,348 INFO L290 TraceCheckUtils]: 31: Hoare triple {5924#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); {5924#true} is VALID [2022-04-28 14:21:15,348 INFO L290 TraceCheckUtils]: 32: Hoare triple {5924#true} assume !false; {5924#true} is VALID [2022-04-28 14:21:15,348 INFO L272 TraceCheckUtils]: 33: Hoare triple {5924#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5924#true} is VALID [2022-04-28 14:21:15,348 INFO L290 TraceCheckUtils]: 34: Hoare triple {5924#true} ~cond := #in~cond; {5924#true} is VALID [2022-04-28 14:21:15,348 INFO L290 TraceCheckUtils]: 35: Hoare triple {5924#true} assume !(0 == ~cond); {5924#true} is VALID [2022-04-28 14:21:15,349 INFO L290 TraceCheckUtils]: 36: Hoare triple {5924#true} assume true; {5924#true} is VALID [2022-04-28 14:21:15,349 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5924#true} {5924#true} #67#return; {5924#true} is VALID [2022-04-28 14:21:15,349 INFO L290 TraceCheckUtils]: 38: Hoare triple {5924#true} assume !!(0 != ~y~0); {6043#(not (= main_~y~0 0))} is VALID [2022-04-28 14:21:15,350 INFO L290 TraceCheckUtils]: 39: Hoare triple {6043#(not (= main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {6047#(< 0 (+ main_~y~0 1))} is VALID [2022-04-28 14:21:15,350 INFO L290 TraceCheckUtils]: 40: Hoare triple {6047#(< 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); {6047#(< 0 (+ main_~y~0 1))} is VALID [2022-04-28 14:21:15,351 INFO L290 TraceCheckUtils]: 41: Hoare triple {6047#(< 0 (+ main_~y~0 1))} assume !false; {6047#(< 0 (+ main_~y~0 1))} is VALID [2022-04-28 14:21:15,351 INFO L272 TraceCheckUtils]: 42: Hoare triple {6047#(< 0 (+ main_~y~0 1))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5924#true} is VALID [2022-04-28 14:21:15,351 INFO L290 TraceCheckUtils]: 43: Hoare triple {5924#true} ~cond := #in~cond; {6060#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:21:15,351 INFO L290 TraceCheckUtils]: 44: Hoare triple {6060#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6064#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:21:15,352 INFO L290 TraceCheckUtils]: 45: Hoare triple {6064#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6064#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:21:15,352 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6064#(not (= |__VERIFIER_assert_#in~cond| 0))} {6047#(< 0 (+ main_~y~0 1))} #67#return; {6071#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:21:15,353 INFO L290 TraceCheckUtils]: 47: Hoare triple {6071#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)))} assume !!(0 != ~y~0); {6071#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:21:15,354 INFO L290 TraceCheckUtils]: 48: Hoare triple {6071#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6078#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:21:15,581 INFO L290 TraceCheckUtils]: 49: Hoare triple {6078#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (< 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {6082#(and (= (mod main_~x~0 2) 0) (exists ((aux_mod_v_main_~y~0_66_22 Int) (aux_div_v_main_~y~0_66_22 Int)) (and (< aux_mod_v_main_~y~0_66_22 2) (< 0 (+ aux_mod_v_main_~y~0_66_22 (* aux_div_v_main_~y~0_66_22 2) 1)) (<= 0 aux_mod_v_main_~y~0_66_22) (= main_~y~0 (div (+ aux_mod_v_main_~y~0_66_22 (* aux_div_v_main_~y~0_66_22 2)) 2)) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (+ aux_mod_v_main_~y~0_66_22 (* aux_div_v_main_~y~0_66_22 2)) (div (- main_~x~0) (- 2))))) (not (= aux_mod_v_main_~y~0_66_22 1)))))} is VALID [2022-04-28 14:21:17,508 INFO L290 TraceCheckUtils]: 50: Hoare triple {6082#(and (= (mod main_~x~0 2) 0) (exists ((aux_mod_v_main_~y~0_66_22 Int) (aux_div_v_main_~y~0_66_22 Int)) (and (< aux_mod_v_main_~y~0_66_22 2) (< 0 (+ aux_mod_v_main_~y~0_66_22 (* aux_div_v_main_~y~0_66_22 2) 1)) (<= 0 aux_mod_v_main_~y~0_66_22) (= main_~y~0 (div (+ aux_mod_v_main_~y~0_66_22 (* aux_div_v_main_~y~0_66_22 2)) 2)) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (+ aux_mod_v_main_~y~0_66_22 (* aux_div_v_main_~y~0_66_22 2)) (div (- main_~x~0) (- 2))))) (not (= aux_mod_v_main_~y~0_66_22 1)))))} assume !false; {6086#(and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 14:21:17,746 INFO L272 TraceCheckUtils]: 51: Hoare triple {6086#(and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6090#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:21:17,747 INFO L290 TraceCheckUtils]: 52: Hoare triple {6090#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6094#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:21:17,747 INFO L290 TraceCheckUtils]: 53: Hoare triple {6094#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5925#false} is VALID [2022-04-28 14:21:17,747 INFO L290 TraceCheckUtils]: 54: Hoare triple {5925#false} assume !false; {5925#false} is VALID [2022-04-28 14:21:17,747 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 28 proven. 2 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2022-04-28 14:21:17,747 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:21:50,764 INFO L290 TraceCheckUtils]: 54: Hoare triple {5925#false} assume !false; {5925#false} is VALID [2022-04-28 14:21:50,765 INFO L290 TraceCheckUtils]: 53: Hoare triple {6094#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5925#false} is VALID [2022-04-28 14:21:50,765 INFO L290 TraceCheckUtils]: 52: Hoare triple {6090#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6094#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:21:50,766 INFO L272 TraceCheckUtils]: 51: Hoare triple {6110#(= (+ 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)); {6090#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:21:50,766 INFO L290 TraceCheckUtils]: 50: Hoare triple {6110#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {6110#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:21:50,770 INFO L290 TraceCheckUtils]: 49: Hoare triple {6117#(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); {6110#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:21:50,771 INFO L290 TraceCheckUtils]: 48: Hoare triple {6121#(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)); {6117#(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:21:50,772 INFO L290 TraceCheckUtils]: 47: Hoare triple {6121#(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); {6121#(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:21:50,774 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6064#(not (= |__VERIFIER_assert_#in~cond| 0))} {6128#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} #67#return; {6121#(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:21:50,775 INFO L290 TraceCheckUtils]: 45: Hoare triple {6064#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6064#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:21:50,775 INFO L290 TraceCheckUtils]: 44: Hoare triple {6138#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6064#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:21:50,775 INFO L290 TraceCheckUtils]: 43: Hoare triple {5924#true} ~cond := #in~cond; {6138#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:21:50,775 INFO L272 TraceCheckUtils]: 42: Hoare triple {6128#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5924#true} is VALID [2022-04-28 14:21:50,776 INFO L290 TraceCheckUtils]: 41: Hoare triple {6128#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} assume !false; {6128#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-28 14:21:50,777 INFO L290 TraceCheckUtils]: 40: Hoare triple {6148#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {6128#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-28 14:21:50,778 INFO L290 TraceCheckUtils]: 39: Hoare triple {5924#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; {6148#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} is VALID [2022-04-28 14:21:50,778 INFO L290 TraceCheckUtils]: 38: Hoare triple {5924#true} assume !!(0 != ~y~0); {5924#true} is VALID [2022-04-28 14:21:50,778 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5924#true} {5924#true} #67#return; {5924#true} is VALID [2022-04-28 14:21:50,778 INFO L290 TraceCheckUtils]: 36: Hoare triple {5924#true} assume true; {5924#true} is VALID [2022-04-28 14:21:50,778 INFO L290 TraceCheckUtils]: 35: Hoare triple {5924#true} assume !(0 == ~cond); {5924#true} is VALID [2022-04-28 14:21:50,778 INFO L290 TraceCheckUtils]: 34: Hoare triple {5924#true} ~cond := #in~cond; {5924#true} is VALID [2022-04-28 14:21:50,778 INFO L272 TraceCheckUtils]: 33: Hoare triple {5924#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5924#true} is VALID [2022-04-28 14:21:50,778 INFO L290 TraceCheckUtils]: 32: Hoare triple {5924#true} assume !false; {5924#true} is VALID [2022-04-28 14:21:50,778 INFO L290 TraceCheckUtils]: 31: Hoare triple {5924#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); {5924#true} is VALID [2022-04-28 14:21:50,778 INFO L290 TraceCheckUtils]: 30: Hoare triple {5924#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; {5924#true} is VALID [2022-04-28 14:21:50,778 INFO L290 TraceCheckUtils]: 29: Hoare triple {5924#true} assume !!(0 != ~y~0); {5924#true} is VALID [2022-04-28 14:21:50,779 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5924#true} {5924#true} #67#return; {5924#true} is VALID [2022-04-28 14:21:50,779 INFO L290 TraceCheckUtils]: 27: Hoare triple {5924#true} assume true; {5924#true} is VALID [2022-04-28 14:21:50,779 INFO L290 TraceCheckUtils]: 26: Hoare triple {5924#true} assume !(0 == ~cond); {5924#true} is VALID [2022-04-28 14:21:50,779 INFO L290 TraceCheckUtils]: 25: Hoare triple {5924#true} ~cond := #in~cond; {5924#true} is VALID [2022-04-28 14:21:50,779 INFO L272 TraceCheckUtils]: 24: Hoare triple {5924#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5924#true} is VALID [2022-04-28 14:21:50,779 INFO L290 TraceCheckUtils]: 23: Hoare triple {5924#true} assume !false; {5924#true} is VALID [2022-04-28 14:21:50,779 INFO L290 TraceCheckUtils]: 22: Hoare triple {5924#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5924#true} is VALID [2022-04-28 14:21:50,779 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5924#true} {5924#true} #65#return; {5924#true} is VALID [2022-04-28 14:21:50,779 INFO L290 TraceCheckUtils]: 20: Hoare triple {5924#true} assume true; {5924#true} is VALID [2022-04-28 14:21:50,779 INFO L290 TraceCheckUtils]: 19: Hoare triple {5924#true} assume !(0 == ~cond); {5924#true} is VALID [2022-04-28 14:21:50,779 INFO L290 TraceCheckUtils]: 18: Hoare triple {5924#true} ~cond := #in~cond; {5924#true} is VALID [2022-04-28 14:21:50,779 INFO L272 TraceCheckUtils]: 17: Hoare triple {5924#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5924#true} is VALID [2022-04-28 14:21:50,779 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5924#true} {5924#true} #63#return; {5924#true} is VALID [2022-04-28 14:21:50,779 INFO L290 TraceCheckUtils]: 15: Hoare triple {5924#true} assume true; {5924#true} is VALID [2022-04-28 14:21:50,779 INFO L290 TraceCheckUtils]: 14: Hoare triple {5924#true} assume !(0 == ~cond); {5924#true} is VALID [2022-04-28 14:21:50,779 INFO L290 TraceCheckUtils]: 13: Hoare triple {5924#true} ~cond := #in~cond; {5924#true} is VALID [2022-04-28 14:21:50,779 INFO L272 TraceCheckUtils]: 12: Hoare triple {5924#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {5924#true} is VALID [2022-04-28 14:21:50,779 INFO L290 TraceCheckUtils]: 11: Hoare triple {5924#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5924#true} is VALID [2022-04-28 14:21:50,780 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5924#true} {5924#true} #61#return; {5924#true} is VALID [2022-04-28 14:21:50,780 INFO L290 TraceCheckUtils]: 9: Hoare triple {5924#true} assume true; {5924#true} is VALID [2022-04-28 14:21:50,780 INFO L290 TraceCheckUtils]: 8: Hoare triple {5924#true} assume !(0 == ~cond); {5924#true} is VALID [2022-04-28 14:21:50,780 INFO L290 TraceCheckUtils]: 7: Hoare triple {5924#true} ~cond := #in~cond; {5924#true} is VALID [2022-04-28 14:21:50,780 INFO L272 TraceCheckUtils]: 6: Hoare triple {5924#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {5924#true} is VALID [2022-04-28 14:21:50,780 INFO L290 TraceCheckUtils]: 5: Hoare triple {5924#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; {5924#true} is VALID [2022-04-28 14:21:50,780 INFO L272 TraceCheckUtils]: 4: Hoare triple {5924#true} call #t~ret6 := main(); {5924#true} is VALID [2022-04-28 14:21:50,780 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5924#true} {5924#true} #71#return; {5924#true} is VALID [2022-04-28 14:21:50,780 INFO L290 TraceCheckUtils]: 2: Hoare triple {5924#true} assume true; {5924#true} is VALID [2022-04-28 14:21:50,780 INFO L290 TraceCheckUtils]: 1: Hoare triple {5924#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); {5924#true} is VALID [2022-04-28 14:21:50,780 INFO L272 TraceCheckUtils]: 0: Hoare triple {5924#true} call ULTIMATE.init(); {5924#true} is VALID [2022-04-28 14:21:50,780 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 25 proven. 4 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2022-04-28 14:21:50,780 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:21:50,780 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1095718541] [2022-04-28 14:21:50,781 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:21:50,781 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1487948360] [2022-04-28 14:21:50,781 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1487948360] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:21:50,781 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:21:50,781 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11] total 18 [2022-04-28 14:21:50,781 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:21:50,781 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [670509583] [2022-04-28 14:21:50,781 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [670509583] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:21:50,781 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:21:50,781 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 14:21:50,781 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2027027268] [2022-04-28 14:21:50,781 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:21:50,781 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 55 [2022-04-28 14:21:50,782 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:21:50,782 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 14:21:53,272 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 42 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 14:21:53,272 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 14:21:53,272 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:21:53,273 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 14:21:53,273 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=240, Unknown=3, NotChecked=0, Total=306 [2022-04-28 14:21:53,273 INFO L87 Difference]: Start difference. First operand 50 states and 55 transitions. Second operand has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 14:21:55,911 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:22:16,709 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:22:22,464 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.55s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:22:24,290 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 14:22:24,291 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 117 GetRequests, 92 SyntacticMatches, 2 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 106 ImplicationChecksByTransitivity, 30.6s TimeCoverageRelationStatistics Valid=122, Invalid=426, Unknown=4, NotChecked=0, Total=552 [2022-04-28 14:22:24,291 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 15 mSDsluCounter, 127 mSDsCounter, 0 mSdLazyCounter, 121 mSolverCounterSat, 5 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 7.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 156 SdHoareTripleChecker+Invalid, 137 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 121 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 9 IncrementalHoareTripleChecker+Unchecked, 7.5s IncrementalHoareTripleChecker+Time [2022-04-28 14:22:24,291 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 156 Invalid, 137 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 121 Invalid, 2 Unknown, 9 Unchecked, 7.5s Time] [2022-04-28 14:22:24,307 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Ended with exit code 0 [2022-04-28 14:22:24,492 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-28 14:22:24,492 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.AssertionError: at most one deprecated predicate at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier$PredicateComparison.compare(PredicateUnifier.java:973) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier$PredicateComparison.(PredicateUnifier.java:768) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate(PredicateUnifier.java:345) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicateForConjunction(PredicateUnifier.java:388) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicateForConjunction(PredicateUnifier.java:229) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.interpolantautomata.transitionappender.DeterministicInterpolantAutomaton.getOrConstructPredicate(DeterministicInterpolantAutomaton.java:282) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.interpolantautomata.transitionappender.DeterministicInterpolantAutomaton.constructSuccessorsAndTransitions(DeterministicInterpolantAutomaton.java:304) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.interpolantautomata.transitionappender.BasicAbstractInterpolantAutomaton.computeSuccs(BasicAbstractInterpolantAutomaton.java:79) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.interpolantautomata.transitionappender.BasicAbstractInterpolantAutomaton.computeSuccs(BasicAbstractInterpolantAutomaton.java:1) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.interpolantautomata.transitionappender.AbstractInterpolantAutomaton.internalSuccessors(AbstractInterpolantAutomaton.java:233) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.interpolantautomata.transitionappender.AbstractInterpolantAutomaton.internalSuccessors(AbstractInterpolantAutomaton.java:1) at de.uni_freiburg.informatik.ultimate.automata.nestedword.operations.TotalizeNwa.internalSuccessors(TotalizeNwa.java:213) at de.uni_freiburg.informatik.ultimate.automata.nestedword.operations.ComplementDeterministicNwa.internalSuccessors(ComplementDeterministicNwa.java:121) at de.uni_freiburg.informatik.ultimate.automata.nestedword.operations.ProductNwa.internalSuccessors(ProductNwa.java:216) at de.uni_freiburg.informatik.ultimate.automata.nestedword.operations.ProductNwa.internalSuccessors(ProductNwa.java:208) at de.uni_freiburg.informatik.ultimate.automata.nestedword.reachablestates.NestedWordAutomatonReachableStates$ReachableStatesComputation.addInternalsAndSuccessors(NestedWordAutomatonReachableStates.java:1058) at de.uni_freiburg.informatik.ultimate.automata.nestedword.reachablestates.NestedWordAutomatonReachableStates$ReachableStatesComputation.(NestedWordAutomatonReachableStates.java:960) at de.uni_freiburg.informatik.ultimate.automata.nestedword.reachablestates.NestedWordAutomatonReachableStates.(NestedWordAutomatonReachableStates.java:182) at de.uni_freiburg.informatik.ultimate.automata.nestedword.operations.Difference.computeDifference(Difference.java:137) at de.uni_freiburg.informatik.ultimate.automata.nestedword.operations.Difference.(Difference.java:90) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.NwaCegarLoop.computeAutomataDifference(NwaCegarLoop.java:353) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.NwaCegarLoop.refineAbstraction(NwaCegarLoop.java:325) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.refineAbstractionInternal(AbstractCegarLoop.java:487) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:438) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.startCegar(AbstractCegarLoop.java:366) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.runCegar(AbstractCegarLoop.java:348) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.executeCegarLoop(TraceAbstractionStarter.java:409) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseProgram(TraceAbstractionStarter.java:300) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseSequentialProgram(TraceAbstractionStarter.java:260) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:173) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:152) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:320) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) [2022-04-28 14:22:24,494 INFO L158 Benchmark]: Toolchain (without parser) took 753664.93ms. Allocated memory was 206.6MB in the beginning and 259.0MB in the end (delta: 52.4MB). Free memory was 154.0MB in the beginning and 123.0MB in the end (delta: 31.0MB). Peak memory consumption was 84.6MB. Max. memory is 8.0GB. [2022-04-28 14:22:24,494 INFO L158 Benchmark]: CDTParser took 0.11ms. Allocated memory is still 206.6MB. Free memory is still 170.2MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-28 14:22:24,494 INFO L158 Benchmark]: CACSL2BoogieTranslator took 189.80ms. Allocated memory is still 206.6MB. Free memory was 153.8MB in the beginning and 179.1MB in the end (delta: -25.3MB). Peak memory consumption was 10.1MB. Max. memory is 8.0GB. [2022-04-28 14:22:24,495 INFO L158 Benchmark]: Boogie Preprocessor took 17.98ms. Allocated memory is still 206.6MB. Free memory was 179.1MB in the beginning and 177.7MB in the end (delta: 1.4MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-28 14:22:24,495 INFO L158 Benchmark]: RCFGBuilder took 321.53ms. Allocated memory is still 206.6MB. Free memory was 177.7MB in the beginning and 165.9MB in the end (delta: 11.8MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-28 14:22:24,495 INFO L158 Benchmark]: TraceAbstraction took 753131.88ms. Allocated memory was 206.6MB in the beginning and 259.0MB in the end (delta: 52.4MB). Free memory was 165.5MB in the beginning and 123.5MB in the end (delta: 42.0MB). Peak memory consumption was 95.6MB. Max. memory is 8.0GB. [2022-04-28 14:22:24,496 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.11ms. Allocated memory is still 206.6MB. Free memory is still 170.2MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 189.80ms. Allocated memory is still 206.6MB. Free memory was 153.8MB in the beginning and 179.1MB in the end (delta: -25.3MB). Peak memory consumption was 10.1MB. Max. memory is 8.0GB. * Boogie Preprocessor took 17.98ms. Allocated memory is still 206.6MB. Free memory was 179.1MB in the beginning and 177.7MB in the end (delta: 1.4MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 321.53ms. Allocated memory is still 206.6MB. Free memory was 177.7MB in the beginning and 165.9MB in the end (delta: 11.8MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 753131.88ms. Allocated memory was 206.6MB in the beginning and 259.0MB in the end (delta: 52.4MB). Free memory was 165.5MB in the beginning and 123.5MB in the end (delta: 42.0MB). Peak memory consumption was 95.6MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: AssertionError: at most one deprecated predicate de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: AssertionError: at most one deprecated predicate: de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier$PredicateComparison.compare(PredicateUnifier.java:973) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2022-04-28 14:22:24,615 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...