/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/prodbin-ll.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 10:53:18,039 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 10:53:18,041 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 10:53:18,103 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 10:53:18,104 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 10:53:18,104 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 10:53:18,105 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 10:53:18,106 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 10:53:18,107 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 10:53:18,107 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 10:53:18,108 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 10:53:18,110 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 10:53:18,110 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 10:53:18,114 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 10:53:18,114 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 10:53:18,115 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 10:53:18,116 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 10:53:18,117 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 10:53:18,119 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 10:53:18,123 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 10:53:18,124 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 10:53:18,125 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 10:53:18,126 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 10:53:18,126 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 10:53:18,127 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 10:53:18,129 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 10:53:18,129 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 10:53:18,129 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 10:53:18,130 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 10:53:18,130 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 10:53:18,131 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 10:53:18,131 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 10:53:18,132 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 10:53:18,132 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 10:53:18,133 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 10:53:18,134 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 10:53:18,134 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 10:53:18,134 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 10:53:18,135 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 10:53:18,135 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 10:53:18,136 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 10:53:18,137 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 10:53:18,137 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-08 10:53:18,143 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 10:53:18,143 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 10:53:18,144 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 10:53:18,144 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 10:53:18,144 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 10:53:18,144 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 10:53:18,144 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 10:53:18,144 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 10:53:18,144 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 10:53:18,144 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 10:53:18,144 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 10:53:18,144 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 10:53:18,145 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 10:53:18,145 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 10:53:18,145 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 10:53:18,145 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 10:53:18,145 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 10:53:18,145 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 10:53:18,145 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 10:53:18,145 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 10:53:18,145 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 10:53:18,145 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-08 10:53:18,146 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-08 10:53:18,355 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 10:53:18,376 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 10:53:18,377 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 10:53:18,378 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 10:53:18,384 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 10:53:18,384 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench/prodbin-ll.c [2022-04-08 10:53:18,417 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/681eeb350/b650198ec42547f588dd951340ede0cd/FLAG145f0656a [2022-04-08 10:53:18,776 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 10:53:18,777 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench/prodbin-ll.c [2022-04-08 10:53:18,782 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/681eeb350/b650198ec42547f588dd951340ede0cd/FLAG145f0656a [2022-04-08 10:53:18,790 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/681eeb350/b650198ec42547f588dd951340ede0cd [2022-04-08 10:53:18,791 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 10:53:18,792 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 10:53:18,794 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 10:53:18,794 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 10:53:18,797 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 10:53:18,797 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 10:53:18" (1/1) ... [2022-04-08 10:53:18,798 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@52816104 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:53:18, skipping insertion in model container [2022-04-08 10:53:18,798 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 10:53:18" (1/1) ... [2022-04-08 10:53:18,803 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 10:53:18,812 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 10:53:18,929 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/prodbin-ll.c[537,550] [2022-04-08 10:53:18,938 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 10:53:18,943 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 10:53:18,950 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/prodbin-ll.c[537,550] [2022-04-08 10:53:18,953 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 10:53:18,961 INFO L208 MainTranslator]: Completed translation [2022-04-08 10:53:18,961 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:53:18 WrapperNode [2022-04-08 10:53:18,961 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 10:53:18,962 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 10:53:18,962 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 10:53:18,962 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 10:53:18,969 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:53:18" (1/1) ... [2022-04-08 10:53:18,969 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:53:18" (1/1) ... [2022-04-08 10:53:18,974 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:53:18" (1/1) ... [2022-04-08 10:53:18,974 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:53:18" (1/1) ... [2022-04-08 10:53:18,984 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:53:18" (1/1) ... [2022-04-08 10:53:18,988 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:53:18" (1/1) ... [2022-04-08 10:53:18,990 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:53:18" (1/1) ... [2022-04-08 10:53:18,994 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 10:53:18,995 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 10:53:18,995 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 10:53:18,995 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 10:53:18,996 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:53:18" (1/1) ... [2022-04-08 10:53:19,001 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 10:53:19,007 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:53:19,016 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-08 10:53:19,024 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-08 10:53:19,046 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 10:53:19,046 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 10:53:19,046 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 10:53:19,046 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 10:53:19,046 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 10:53:19,046 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 10:53:19,047 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 10:53:19,047 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 10:53:19,047 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 10:53:19,047 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 10:53:19,047 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 10:53:19,047 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 10:53:19,048 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 10:53:19,048 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 10:53:19,048 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 10:53:19,049 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 10:53:19,049 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 10:53:19,049 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 10:53:19,049 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 10:53:19,049 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 10:53:19,094 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 10:53:19,095 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 10:53:19,222 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 10:53:19,226 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 10:53:19,226 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-08 10:53:19,227 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 10:53:19 BoogieIcfgContainer [2022-04-08 10:53:19,228 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 10:53:19,229 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 10:53:19,229 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 10:53:19,245 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 10:53:19,246 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 10:53:18" (1/3) ... [2022-04-08 10:53:19,246 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@51f537af and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 10:53:19, skipping insertion in model container [2022-04-08 10:53:19,246 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:53:18" (2/3) ... [2022-04-08 10:53:19,247 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@51f537af and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 10:53:19, skipping insertion in model container [2022-04-08 10:53:19,247 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 10:53:19" (3/3) ... [2022-04-08 10:53:19,248 INFO L111 eAbstractionObserver]: Analyzing ICFG prodbin-ll.c [2022-04-08 10:53:19,251 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 10:53:19,251 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 10:53:19,293 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 10:53:19,300 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-08 10:53:19,301 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 10:53:19,321 INFO L276 IsEmpty]: Start isEmpty. Operand has 29 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 10:53:19,327 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-08 10:53:19,327 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:53:19,327 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:53:19,328 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:53:19,334 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:53:19,334 INFO L85 PathProgramCache]: Analyzing trace with hash 2112761405, now seen corresponding path program 1 times [2022-04-08 10:53:19,340 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:53:19,340 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1089419017] [2022-04-08 10:53:19,348 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:53:19,348 INFO L85 PathProgramCache]: Analyzing trace with hash 2112761405, now seen corresponding path program 2 times [2022-04-08 10:53:19,351 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:53:19,351 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [732344888] [2022-04-08 10:53:19,352 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:53:19,352 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:53:19,438 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:53:19,495 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:53:19,503 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:53:19,521 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#(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); {32#true} is VALID [2022-04-08 10:53:19,522 INFO L290 TraceCheckUtils]: 1: Hoare triple {32#true} assume true; {32#true} is VALID [2022-04-08 10:53:19,522 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {32#true} {32#true} #64#return; {32#true} is VALID [2022-04-08 10:53:19,523 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 10:53:19,526 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:53:19,544 INFO L290 TraceCheckUtils]: 0: Hoare triple {32#true} ~cond := #in~cond; {32#true} is VALID [2022-04-08 10:53:19,544 INFO L290 TraceCheckUtils]: 1: Hoare triple {32#true} assume 0 == ~cond;assume false; {33#false} is VALID [2022-04-08 10:53:19,545 INFO L290 TraceCheckUtils]: 2: Hoare triple {33#false} assume true; {33#false} is VALID [2022-04-08 10:53:19,545 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33#false} {32#true} #58#return; {33#false} is VALID [2022-04-08 10:53:19,547 INFO L272 TraceCheckUtils]: 0: Hoare triple {32#true} call ULTIMATE.init(); {41#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:53:19,547 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#(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); {32#true} is VALID [2022-04-08 10:53:19,547 INFO L290 TraceCheckUtils]: 2: Hoare triple {32#true} assume true; {32#true} is VALID [2022-04-08 10:53:19,547 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32#true} {32#true} #64#return; {32#true} is VALID [2022-04-08 10:53:19,548 INFO L272 TraceCheckUtils]: 4: Hoare triple {32#true} call #t~ret6 := main(); {32#true} is VALID [2022-04-08 10:53:19,548 INFO L290 TraceCheckUtils]: 5: Hoare triple {32#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {32#true} is VALID [2022-04-08 10:53:19,548 INFO L272 TraceCheckUtils]: 6: Hoare triple {32#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {32#true} is VALID [2022-04-08 10:53:19,548 INFO L290 TraceCheckUtils]: 7: Hoare triple {32#true} ~cond := #in~cond; {32#true} is VALID [2022-04-08 10:53:19,549 INFO L290 TraceCheckUtils]: 8: Hoare triple {32#true} assume 0 == ~cond;assume false; {33#false} is VALID [2022-04-08 10:53:19,549 INFO L290 TraceCheckUtils]: 9: Hoare triple {33#false} assume true; {33#false} is VALID [2022-04-08 10:53:19,549 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {33#false} {32#true} #58#return; {33#false} is VALID [2022-04-08 10:53:19,550 INFO L290 TraceCheckUtils]: 11: Hoare triple {33#false} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {33#false} is VALID [2022-04-08 10:53:19,550 INFO L290 TraceCheckUtils]: 12: Hoare triple {33#false} assume false; {33#false} is VALID [2022-04-08 10:53:19,550 INFO L272 TraceCheckUtils]: 13: Hoare triple {33#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {33#false} is VALID [2022-04-08 10:53:19,550 INFO L290 TraceCheckUtils]: 14: Hoare triple {33#false} ~cond := #in~cond; {33#false} is VALID [2022-04-08 10:53:19,550 INFO L290 TraceCheckUtils]: 15: Hoare triple {33#false} assume 0 == ~cond; {33#false} is VALID [2022-04-08 10:53:19,550 INFO L290 TraceCheckUtils]: 16: Hoare triple {33#false} assume !false; {33#false} is VALID [2022-04-08 10:53:19,551 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:53:19,551 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:53:19,551 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [732344888] [2022-04-08 10:53:19,552 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [732344888] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:53:19,552 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:53:19,552 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 10:53:19,554 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:53:19,554 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1089419017] [2022-04-08 10:53:19,554 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1089419017] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:53:19,554 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:53:19,554 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 10:53:19,555 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1967866013] [2022-04-08 10:53:19,555 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:53:19,558 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-08 10:53:19,559 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:53:19,561 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 10:53:19,587 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:53:19,588 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 10:53:19,588 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:53:19,604 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 10:53:19,604 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 10:53:19,607 INFO L87 Difference]: Start difference. First operand has 29 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 10:53:19,709 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:53:19,709 INFO L93 Difference]: Finished difference Result 49 states and 62 transitions. [2022-04-08 10:53:19,710 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 10:53:19,710 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-08 10:53:19,710 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:53:19,711 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 10:53:19,718 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 62 transitions. [2022-04-08 10:53:19,718 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 10:53:19,722 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 62 transitions. [2022-04-08 10:53:19,722 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 62 transitions. [2022-04-08 10:53:19,798 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:53:19,806 INFO L225 Difference]: With dead ends: 49 [2022-04-08 10:53:19,806 INFO L226 Difference]: Without dead ends: 24 [2022-04-08 10:53:19,808 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 10:53:19,811 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 18 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 5 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 31 SdHoareTripleChecker+Invalid, 9 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 5 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 10:53:19,812 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 31 Invalid, 9 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 5 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 10:53:19,822 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 24 states. [2022-04-08 10:53:19,835 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 24 to 24. [2022-04-08 10:53:19,836 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:53:19,836 INFO L82 GeneralOperation]: Start isEquivalent. First operand 24 states. Second operand has 24 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 10:53:19,837 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand has 24 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 10:53:19,838 INFO L87 Difference]: Start difference. First operand 24 states. Second operand has 24 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 10:53:19,844 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:53:19,844 INFO L93 Difference]: Finished difference Result 24 states and 26 transitions. [2022-04-08 10:53:19,844 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 26 transitions. [2022-04-08 10:53:19,845 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:53:19,845 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:53:19,846 INFO L74 IsIncluded]: Start isIncluded. First operand has 24 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 24 states. [2022-04-08 10:53:19,846 INFO L87 Difference]: Start difference. First operand has 24 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 24 states. [2022-04-08 10:53:19,849 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:53:19,850 INFO L93 Difference]: Finished difference Result 24 states and 26 transitions. [2022-04-08 10:53:19,850 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 26 transitions. [2022-04-08 10:53:19,851 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:53:19,851 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:53:19,853 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:53:19,853 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:53:19,857 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 10:53:19,860 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 26 transitions. [2022-04-08 10:53:19,861 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 26 transitions. Word has length 17 [2022-04-08 10:53:19,861 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:53:19,861 INFO L478 AbstractCegarLoop]: Abstraction has 24 states and 26 transitions. [2022-04-08 10:53:19,862 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 10:53:19,862 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 26 transitions. [2022-04-08 10:53:19,901 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:53:19,901 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 26 transitions. [2022-04-08 10:53:19,902 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-08 10:53:19,902 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:53:19,902 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:53:19,902 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 10:53:19,902 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:53:19,903 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:53:19,903 INFO L85 PathProgramCache]: Analyzing trace with hash -1500360061, now seen corresponding path program 1 times [2022-04-08 10:53:19,903 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:53:19,903 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [118424687] [2022-04-08 10:53:19,906 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:53:19,906 INFO L85 PathProgramCache]: Analyzing trace with hash -1500360061, now seen corresponding path program 2 times [2022-04-08 10:53:19,906 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:53:19,907 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1952541367] [2022-04-08 10:53:19,907 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:53:19,907 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:53:19,921 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:53:19,922 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [295873516] [2022-04-08 10:53:19,922 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:53:19,922 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:53:19,922 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:53:19,924 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-08 10:53:19,925 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-08 10:53:19,958 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 10:53:19,958 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:53:19,960 INFO L263 TraceCheckSpWp]: Trace formula consists of 72 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 10:53:19,967 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:53:19,969 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:53:20,068 INFO L272 TraceCheckUtils]: 0: Hoare triple {238#true} call ULTIMATE.init(); {238#true} is VALID [2022-04-08 10:53:20,068 INFO L290 TraceCheckUtils]: 1: Hoare triple {238#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); {238#true} is VALID [2022-04-08 10:53:20,068 INFO L290 TraceCheckUtils]: 2: Hoare triple {238#true} assume true; {238#true} is VALID [2022-04-08 10:53:20,068 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {238#true} {238#true} #64#return; {238#true} is VALID [2022-04-08 10:53:20,068 INFO L272 TraceCheckUtils]: 4: Hoare triple {238#true} call #t~ret6 := main(); {238#true} is VALID [2022-04-08 10:53:20,068 INFO L290 TraceCheckUtils]: 5: Hoare triple {238#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {238#true} is VALID [2022-04-08 10:53:20,069 INFO L272 TraceCheckUtils]: 6: Hoare triple {238#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {238#true} is VALID [2022-04-08 10:53:20,069 INFO L290 TraceCheckUtils]: 7: Hoare triple {238#true} ~cond := #in~cond; {238#true} is VALID [2022-04-08 10:53:20,069 INFO L290 TraceCheckUtils]: 8: Hoare triple {238#true} assume !(0 == ~cond); {238#true} is VALID [2022-04-08 10:53:20,069 INFO L290 TraceCheckUtils]: 9: Hoare triple {238#true} assume true; {238#true} is VALID [2022-04-08 10:53:20,069 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {238#true} {238#true} #58#return; {238#true} is VALID [2022-04-08 10:53:20,070 INFO L290 TraceCheckUtils]: 11: Hoare triple {238#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {276#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 10:53:20,070 INFO L290 TraceCheckUtils]: 12: Hoare triple {276#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {276#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 10:53:20,071 INFO L272 TraceCheckUtils]: 13: Hoare triple {276#(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)); {283#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:53:20,071 INFO L290 TraceCheckUtils]: 14: Hoare triple {283#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {287#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:53:20,072 INFO L290 TraceCheckUtils]: 15: Hoare triple {287#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {239#false} is VALID [2022-04-08 10:53:20,072 INFO L290 TraceCheckUtils]: 16: Hoare triple {239#false} assume !false; {239#false} is VALID [2022-04-08 10:53:20,072 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:53:20,072 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 10:53:20,072 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:53:20,072 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1952541367] [2022-04-08 10:53:20,073 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:53:20,073 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [295873516] [2022-04-08 10:53:20,073 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [295873516] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:53:20,073 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:53:20,073 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 10:53:20,074 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:53:20,074 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [118424687] [2022-04-08 10:53:20,074 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [118424687] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:53:20,074 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:53:20,074 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 10:53:20,074 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1137466105] [2022-04-08 10:53:20,074 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:53:20,075 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-08 10:53:20,075 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:53:20,075 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 10:53:20,086 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:53:20,087 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 10:53:20,087 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:53:20,087 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 10:53:20,087 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 10:53:20,088 INFO L87 Difference]: Start difference. First operand 24 states and 26 transitions. Second operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 10:53:20,190 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:53:20,191 INFO L93 Difference]: Finished difference Result 36 states and 40 transitions. [2022-04-08 10:53:20,191 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 10:53:20,191 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-08 10:53:20,191 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:53:20,191 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 10:53:20,193 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 40 transitions. [2022-04-08 10:53:20,193 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 10:53:20,194 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 40 transitions. [2022-04-08 10:53:20,195 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 40 transitions. [2022-04-08 10:53:20,232 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-08 10:53:20,234 INFO L225 Difference]: With dead ends: 36 [2022-04-08 10:53:20,234 INFO L226 Difference]: Without dead ends: 34 [2022-04-08 10:53:20,235 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 13 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-08 10:53:20,237 INFO L913 BasicCegarLoop]: 19 mSDtfsCounter, 8 mSDsluCounter, 48 mSDsCounter, 0 mSdLazyCounter, 39 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 67 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 39 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 10:53:20,241 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 67 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 39 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 10:53:20,242 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2022-04-08 10:53:20,254 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 30. [2022-04-08 10:53:20,255 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:53:20,255 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 states. Second operand has 30 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 21 states have internal predecessors, (22), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 10:53:20,255 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand has 30 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 21 states have internal predecessors, (22), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 10:53:20,256 INFO L87 Difference]: Start difference. First operand 34 states. Second operand has 30 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 21 states have internal predecessors, (22), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 10:53:20,260 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:53:20,260 INFO L93 Difference]: Finished difference Result 34 states and 38 transitions. [2022-04-08 10:53:20,261 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2022-04-08 10:53:20,261 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:53:20,261 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:53:20,263 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 21 states have internal predecessors, (22), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Second operand 34 states. [2022-04-08 10:53:20,264 INFO L87 Difference]: Start difference. First operand has 30 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 21 states have internal predecessors, (22), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Second operand 34 states. [2022-04-08 10:53:20,265 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:53:20,265 INFO L93 Difference]: Finished difference Result 34 states and 38 transitions. [2022-04-08 10:53:20,265 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2022-04-08 10:53:20,266 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:53:20,266 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:53:20,266 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:53:20,266 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:53:20,267 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 21 states have internal predecessors, (22), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 10:53:20,270 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 32 transitions. [2022-04-08 10:53:20,270 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 32 transitions. Word has length 17 [2022-04-08 10:53:20,271 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:53:20,271 INFO L478 AbstractCegarLoop]: Abstraction has 30 states and 32 transitions. [2022-04-08 10:53:20,271 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 10:53:20,271 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 32 transitions. [2022-04-08 10:53:20,304 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:53:20,304 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 32 transitions. [2022-04-08 10:53:20,304 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-08 10:53:20,304 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:53:20,305 INFO L499 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:53:20,325 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-08 10:53:20,515 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:53:20,515 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:53:20,516 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:53:20,517 INFO L85 PathProgramCache]: Analyzing trace with hash 966896435, now seen corresponding path program 1 times [2022-04-08 10:53:20,517 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:53:20,517 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1145674310] [2022-04-08 10:53:20,518 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:53:20,518 INFO L85 PathProgramCache]: Analyzing trace with hash 966896435, now seen corresponding path program 2 times [2022-04-08 10:53:20,518 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:53:20,518 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [159461488] [2022-04-08 10:53:20,518 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:53:20,519 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:53:20,529 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:53:20,530 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1722526212] [2022-04-08 10:53:20,530 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:53:20,530 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:53:20,530 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:53:20,531 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-08 10:53:20,532 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-08 10:53:20,563 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:53:20,563 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:53:20,564 INFO L263 TraceCheckSpWp]: Trace formula consists of 83 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 10:53:20,573 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:53:20,574 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:53:20,693 INFO L272 TraceCheckUtils]: 0: Hoare triple {495#true} call ULTIMATE.init(); {495#true} is VALID [2022-04-08 10:53:20,693 INFO L290 TraceCheckUtils]: 1: Hoare triple {495#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); {495#true} is VALID [2022-04-08 10:53:20,693 INFO L290 TraceCheckUtils]: 2: Hoare triple {495#true} assume true; {495#true} is VALID [2022-04-08 10:53:20,694 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {495#true} {495#true} #64#return; {495#true} is VALID [2022-04-08 10:53:20,694 INFO L272 TraceCheckUtils]: 4: Hoare triple {495#true} call #t~ret6 := main(); {495#true} is VALID [2022-04-08 10:53:20,694 INFO L290 TraceCheckUtils]: 5: Hoare triple {495#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {495#true} is VALID [2022-04-08 10:53:20,694 INFO L272 TraceCheckUtils]: 6: Hoare triple {495#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {495#true} is VALID [2022-04-08 10:53:20,695 INFO L290 TraceCheckUtils]: 7: Hoare triple {495#true} ~cond := #in~cond; {521#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 10:53:20,695 INFO L290 TraceCheckUtils]: 8: Hoare triple {521#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {525#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 10:53:20,695 INFO L290 TraceCheckUtils]: 9: Hoare triple {525#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {525#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 10:53:20,696 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {525#(not (= |assume_abort_if_not_#in~cond| 0))} {495#true} #58#return; {532#(<= 1 main_~b~0)} is VALID [2022-04-08 10:53:20,696 INFO L290 TraceCheckUtils]: 11: Hoare triple {532#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {536#(<= 1 main_~y~0)} is VALID [2022-04-08 10:53:20,697 INFO L290 TraceCheckUtils]: 12: Hoare triple {536#(<= 1 main_~y~0)} assume !false; {536#(<= 1 main_~y~0)} is VALID [2022-04-08 10:53:20,697 INFO L272 TraceCheckUtils]: 13: Hoare triple {536#(<= 1 main_~y~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {495#true} is VALID [2022-04-08 10:53:20,697 INFO L290 TraceCheckUtils]: 14: Hoare triple {495#true} ~cond := #in~cond; {495#true} is VALID [2022-04-08 10:53:20,697 INFO L290 TraceCheckUtils]: 15: Hoare triple {495#true} assume !(0 == ~cond); {495#true} is VALID [2022-04-08 10:53:20,697 INFO L290 TraceCheckUtils]: 16: Hoare triple {495#true} assume true; {495#true} is VALID [2022-04-08 10:53:20,698 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {495#true} {536#(<= 1 main_~y~0)} #60#return; {536#(<= 1 main_~y~0)} is VALID [2022-04-08 10:53:20,698 INFO L290 TraceCheckUtils]: 18: Hoare triple {536#(<= 1 main_~y~0)} assume !(0 != ~y~0); {496#false} is VALID [2022-04-08 10:53:20,699 INFO L272 TraceCheckUtils]: 19: Hoare triple {496#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {496#false} is VALID [2022-04-08 10:53:20,699 INFO L290 TraceCheckUtils]: 20: Hoare triple {496#false} ~cond := #in~cond; {496#false} is VALID [2022-04-08 10:53:20,699 INFO L290 TraceCheckUtils]: 21: Hoare triple {496#false} assume 0 == ~cond; {496#false} is VALID [2022-04-08 10:53:20,699 INFO L290 TraceCheckUtils]: 22: Hoare triple {496#false} assume !false; {496#false} is VALID [2022-04-08 10:53:20,699 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:53:20,699 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 10:53:20,700 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:53:20,700 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [159461488] [2022-04-08 10:53:20,700 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:53:20,700 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1722526212] [2022-04-08 10:53:20,700 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1722526212] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:53:20,700 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:53:20,700 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 10:53:20,701 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:53:20,701 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1145674310] [2022-04-08 10:53:20,701 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1145674310] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:53:20,701 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:53:20,701 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 10:53:20,701 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [472915558] [2022-04-08 10:53:20,701 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:53:20,701 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-08 10:53:20,702 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:53:20,702 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:53:20,717 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:53:20,717 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 10:53:20,717 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:53:20,717 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 10:53:20,717 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 10:53:20,717 INFO L87 Difference]: Start difference. First operand 30 states and 32 transitions. Second operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:53:20,865 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:53:20,865 INFO L93 Difference]: Finished difference Result 40 states and 43 transitions. [2022-04-08 10:53:20,865 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 10:53:20,865 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-08 10:53:20,865 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:53:20,866 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:53:20,867 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2022-04-08 10:53:20,867 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:53:20,868 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2022-04-08 10:53:20,868 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 40 transitions. [2022-04-08 10:53:20,911 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-08 10:53:20,912 INFO L225 Difference]: With dead ends: 40 [2022-04-08 10:53:20,912 INFO L226 Difference]: Without dead ends: 33 [2022-04-08 10:53:20,912 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 24 GetRequests, 18 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-08 10:53:20,913 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 14 mSDsluCounter, 57 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 77 SdHoareTripleChecker+Invalid, 44 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 10:53:20,913 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 77 Invalid, 44 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 10:53:20,914 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-04-08 10:53:20,933 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 31. [2022-04-08 10:53:20,934 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:53:20,934 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 31 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 10:53:20,934 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 31 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 10:53:20,934 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 31 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 10:53:20,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:53:20,936 INFO L93 Difference]: Finished difference Result 33 states and 36 transitions. [2022-04-08 10:53:20,936 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 36 transitions. [2022-04-08 10:53:20,936 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:53:20,936 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:53:20,936 INFO L74 IsIncluded]: Start isIncluded. First operand has 31 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 33 states. [2022-04-08 10:53:20,937 INFO L87 Difference]: Start difference. First operand has 31 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 33 states. [2022-04-08 10:53:20,938 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:53:20,938 INFO L93 Difference]: Finished difference Result 33 states and 36 transitions. [2022-04-08 10:53:20,938 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 36 transitions. [2022-04-08 10:53:20,938 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:53:20,938 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:53:20,938 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:53:20,938 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:53:20,939 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 10:53:20,939 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 33 transitions. [2022-04-08 10:53:20,940 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 33 transitions. Word has length 23 [2022-04-08 10:53:20,940 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:53:20,944 INFO L478 AbstractCegarLoop]: Abstraction has 31 states and 33 transitions. [2022-04-08 10:53:20,944 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:53:20,944 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 31 states and 33 transitions. [2022-04-08 10:53:20,976 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:53:20,977 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 33 transitions. [2022-04-08 10:53:20,978 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2022-04-08 10:53:20,978 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:53:20,978 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:53:20,994 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-08 10:53:21,179 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-08 10:53:21,179 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:53:21,180 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:53:21,180 INFO L85 PathProgramCache]: Analyzing trace with hash 1614734214, now seen corresponding path program 1 times [2022-04-08 10:53:21,180 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:53:21,180 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1328088240] [2022-04-08 10:53:25,309 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:53:25,309 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:53:25,309 INFO L85 PathProgramCache]: Analyzing trace with hash 1614734214, now seen corresponding path program 2 times [2022-04-08 10:53:25,309 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:53:25,309 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2016675683] [2022-04-08 10:53:25,309 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:53:25,310 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:53:25,321 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:53:25,321 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1542488200] [2022-04-08 10:53:25,321 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:53:25,322 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:53:25,322 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:53:25,322 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-08 10:53:25,324 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-08 10:53:25,358 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:53:25,358 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:53:25,359 INFO L263 TraceCheckSpWp]: Trace formula consists of 88 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-08 10:53:25,376 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:53:25,377 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:53:28,522 INFO L272 TraceCheckUtils]: 0: Hoare triple {781#true} call ULTIMATE.init(); {781#true} is VALID [2022-04-08 10:53:28,523 INFO L290 TraceCheckUtils]: 1: Hoare triple {781#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); {781#true} is VALID [2022-04-08 10:53:28,523 INFO L290 TraceCheckUtils]: 2: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-08 10:53:28,523 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {781#true} {781#true} #64#return; {781#true} is VALID [2022-04-08 10:53:28,523 INFO L272 TraceCheckUtils]: 4: Hoare triple {781#true} call #t~ret6 := main(); {781#true} is VALID [2022-04-08 10:53:28,523 INFO L290 TraceCheckUtils]: 5: Hoare triple {781#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {781#true} is VALID [2022-04-08 10:53:28,523 INFO L272 TraceCheckUtils]: 6: Hoare triple {781#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {781#true} is VALID [2022-04-08 10:53:28,524 INFO L290 TraceCheckUtils]: 7: Hoare triple {781#true} ~cond := #in~cond; {807#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 10:53:28,524 INFO L290 TraceCheckUtils]: 8: Hoare triple {807#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {811#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 10:53:28,525 INFO L290 TraceCheckUtils]: 9: Hoare triple {811#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {811#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 10:53:28,525 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {811#(not (= |assume_abort_if_not_#in~cond| 0))} {781#true} #58#return; {818#(<= 1 main_~b~0)} is VALID [2022-04-08 10:53:28,526 INFO L290 TraceCheckUtils]: 11: Hoare triple {818#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {822#(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-08 10:53:28,526 INFO L290 TraceCheckUtils]: 12: Hoare triple {822#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {822#(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-08 10:53:28,526 INFO L272 TraceCheckUtils]: 13: Hoare triple {822#(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)); {781#true} is VALID [2022-04-08 10:53:28,526 INFO L290 TraceCheckUtils]: 14: Hoare triple {781#true} ~cond := #in~cond; {781#true} is VALID [2022-04-08 10:53:28,526 INFO L290 TraceCheckUtils]: 15: Hoare triple {781#true} assume !(0 == ~cond); {781#true} is VALID [2022-04-08 10:53:28,527 INFO L290 TraceCheckUtils]: 16: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-08 10:53:28,529 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {781#true} {822#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #60#return; {822#(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-08 10:53:28,529 INFO L290 TraceCheckUtils]: 18: Hoare triple {822#(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); {822#(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-08 10:53:28,530 INFO L290 TraceCheckUtils]: 19: Hoare triple {822#(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)); {847#(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-08 10:53:28,531 INFO L290 TraceCheckUtils]: 20: Hoare triple {847#(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); {851#(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-08 10:53:28,531 INFO L290 TraceCheckUtils]: 21: Hoare triple {851#(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; {851#(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-08 10:53:28,533 INFO L272 TraceCheckUtils]: 22: Hoare triple {851#(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)); {858#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:53:28,534 INFO L290 TraceCheckUtils]: 23: Hoare triple {858#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {862#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:53:28,550 INFO L290 TraceCheckUtils]: 24: Hoare triple {862#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {782#false} is VALID [2022-04-08 10:53:28,550 INFO L290 TraceCheckUtils]: 25: Hoare triple {782#false} assume !false; {782#false} is VALID [2022-04-08 10:53:28,550 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:53:28,550 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:53:59,347 INFO L290 TraceCheckUtils]: 25: Hoare triple {782#false} assume !false; {782#false} is VALID [2022-04-08 10:53:59,348 INFO L290 TraceCheckUtils]: 24: Hoare triple {862#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {782#false} is VALID [2022-04-08 10:53:59,348 INFO L290 TraceCheckUtils]: 23: Hoare triple {858#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {862#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:53:59,349 INFO L272 TraceCheckUtils]: 22: Hoare triple {878#(= (+ 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)); {858#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:53:59,350 INFO L290 TraceCheckUtils]: 21: Hoare triple {878#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {878#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-08 10:53:59,354 INFO L290 TraceCheckUtils]: 20: Hoare triple {885#(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); {878#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-08 10:53:59,355 INFO L290 TraceCheckUtils]: 19: Hoare triple {889#(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)); {885#(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-08 10:53:59,356 INFO L290 TraceCheckUtils]: 18: Hoare triple {889#(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); {889#(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-08 10:53:59,357 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {781#true} {889#(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)))))} #60#return; {889#(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-08 10:53:59,357 INFO L290 TraceCheckUtils]: 16: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-08 10:53:59,357 INFO L290 TraceCheckUtils]: 15: Hoare triple {781#true} assume !(0 == ~cond); {781#true} is VALID [2022-04-08 10:53:59,357 INFO L290 TraceCheckUtils]: 14: Hoare triple {781#true} ~cond := #in~cond; {781#true} is VALID [2022-04-08 10:53:59,357 INFO L272 TraceCheckUtils]: 13: Hoare triple {889#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {781#true} is VALID [2022-04-08 10:53:59,358 INFO L290 TraceCheckUtils]: 12: Hoare triple {889#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !false; {889#(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-08 10:53:59,360 INFO L290 TraceCheckUtils]: 11: Hoare triple {914#(or (= (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {889#(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-08 10:53:59,361 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {811#(not (= |assume_abort_if_not_#in~cond| 0))} {781#true} #58#return; {914#(or (= (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} is VALID [2022-04-08 10:53:59,361 INFO L290 TraceCheckUtils]: 9: Hoare triple {811#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {811#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 10:53:59,361 INFO L290 TraceCheckUtils]: 8: Hoare triple {927#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {811#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 10:53:59,362 INFO L290 TraceCheckUtils]: 7: Hoare triple {781#true} ~cond := #in~cond; {927#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 10:53:59,362 INFO L272 TraceCheckUtils]: 6: Hoare triple {781#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {781#true} is VALID [2022-04-08 10:53:59,362 INFO L290 TraceCheckUtils]: 5: Hoare triple {781#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {781#true} is VALID [2022-04-08 10:53:59,362 INFO L272 TraceCheckUtils]: 4: Hoare triple {781#true} call #t~ret6 := main(); {781#true} is VALID [2022-04-08 10:53:59,362 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {781#true} {781#true} #64#return; {781#true} is VALID [2022-04-08 10:53:59,362 INFO L290 TraceCheckUtils]: 2: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-08 10:53:59,363 INFO L290 TraceCheckUtils]: 1: Hoare triple {781#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); {781#true} is VALID [2022-04-08 10:53:59,363 INFO L272 TraceCheckUtils]: 0: Hoare triple {781#true} call ULTIMATE.init(); {781#true} is VALID [2022-04-08 10:53:59,363 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:53:59,363 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:53:59,363 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2016675683] [2022-04-08 10:53:59,363 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:53:59,363 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1542488200] [2022-04-08 10:53:59,364 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1542488200] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:53:59,364 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 10:53:59,364 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 15 [2022-04-08 10:53:59,364 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:53:59,364 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1328088240] [2022-04-08 10:53:59,364 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1328088240] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:53:59,364 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:53:59,364 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 10:53:59,364 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [259814458] [2022-04-08 10:53:59,364 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:53:59,365 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 1.8) internal successors, (18), 8 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 26 [2022-04-08 10:53:59,365 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:53:59,365 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 1.8) internal successors, (18), 8 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:53:59,385 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:53:59,385 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 10:53:59,385 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:53:59,386 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 10:53:59,386 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=165, Unknown=0, NotChecked=0, Total=210 [2022-04-08 10:53:59,386 INFO L87 Difference]: Start difference. First operand 31 states and 33 transitions. Second operand has 10 states, 10 states have (on average 1.8) internal successors, (18), 8 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:53:59,784 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:53:59,784 INFO L93 Difference]: Finished difference Result 49 states and 54 transitions. [2022-04-08 10:53:59,784 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 10:53:59,785 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 1.8) internal successors, (18), 8 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 26 [2022-04-08 10:53:59,785 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:53:59,785 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 1.8) internal successors, (18), 8 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:53:59,786 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 51 transitions. [2022-04-08 10:53:59,787 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 1.8) internal successors, (18), 8 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:53:59,788 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 51 transitions. [2022-04-08 10:53:59,788 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 51 transitions. [2022-04-08 10:53:59,825 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:53:59,826 INFO L225 Difference]: With dead ends: 49 [2022-04-08 10:53:59,826 INFO L226 Difference]: Without dead ends: 42 [2022-04-08 10:53:59,826 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 53 GetRequests, 37 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 43 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=54, Invalid=218, Unknown=0, NotChecked=0, Total=272 [2022-04-08 10:53:59,827 INFO L913 BasicCegarLoop]: 19 mSDtfsCounter, 21 mSDsluCounter, 92 mSDsCounter, 0 mSdLazyCounter, 145 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 111 SdHoareTripleChecker+Invalid, 151 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 145 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 10:53:59,827 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 111 Invalid, 151 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 145 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 10:53:59,828 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2022-04-08 10:53:59,848 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 40. [2022-04-08 10:53:59,848 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:53:59,848 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand has 40 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 10:53:59,848 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand has 40 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 10:53:59,849 INFO L87 Difference]: Start difference. First operand 42 states. Second operand has 40 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 10:53:59,850 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:53:59,850 INFO L93 Difference]: Finished difference Result 42 states and 46 transitions. [2022-04-08 10:53:59,850 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 46 transitions. [2022-04-08 10:53:59,850 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:53:59,850 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:53:59,851 INFO L74 IsIncluded]: Start isIncluded. First operand has 40 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 42 states. [2022-04-08 10:53:59,851 INFO L87 Difference]: Start difference. First operand has 40 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 42 states. [2022-04-08 10:53:59,852 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:53:59,852 INFO L93 Difference]: Finished difference Result 42 states and 46 transitions. [2022-04-08 10:53:59,852 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 46 transitions. [2022-04-08 10:53:59,855 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:53:59,855 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:53:59,855 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:53:59,855 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:53:59,855 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 40 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 10:53:59,861 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 43 transitions. [2022-04-08 10:53:59,861 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 43 transitions. Word has length 26 [2022-04-08 10:53:59,862 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:53:59,862 INFO L478 AbstractCegarLoop]: Abstraction has 40 states and 43 transitions. [2022-04-08 10:53:59,862 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 1.8) internal successors, (18), 8 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:53:59,862 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 40 states and 43 transitions. [2022-04-08 10:53:59,902 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-08 10:53:59,902 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 43 transitions. [2022-04-08 10:53:59,902 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2022-04-08 10:53:59,902 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:53:59,903 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:53:59,918 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-08 10:54:00,103 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:54:00,103 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:54:00,104 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:54:00,104 INFO L85 PathProgramCache]: Analyzing trace with hash -160273148, now seen corresponding path program 1 times [2022-04-08 10:54:00,104 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:54:00,104 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [912285380] [2022-04-08 10:54:02,174 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:54:02,175 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:54:02,175 INFO L85 PathProgramCache]: Analyzing trace with hash -160273148, now seen corresponding path program 2 times [2022-04-08 10:54:02,175 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:54:02,175 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1546653980] [2022-04-08 10:54:02,175 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:54:02,175 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:54:02,185 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:54:02,185 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [801828246] [2022-04-08 10:54:02,185 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:54:02,186 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:54:02,186 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:54:02,186 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-08 10:54:02,187 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-08 10:54:02,226 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:54:02,226 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:54:02,227 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-08 10:54:02,240 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:54:02,241 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:54:04,033 INFO L272 TraceCheckUtils]: 0: Hoare triple {1217#true} call ULTIMATE.init(); {1217#true} is VALID [2022-04-08 10:54:04,034 INFO L290 TraceCheckUtils]: 1: Hoare triple {1217#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); {1217#true} is VALID [2022-04-08 10:54:04,034 INFO L290 TraceCheckUtils]: 2: Hoare triple {1217#true} assume true; {1217#true} is VALID [2022-04-08 10:54:04,034 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1217#true} {1217#true} #64#return; {1217#true} is VALID [2022-04-08 10:54:04,034 INFO L272 TraceCheckUtils]: 4: Hoare triple {1217#true} call #t~ret6 := main(); {1217#true} is VALID [2022-04-08 10:54:04,034 INFO L290 TraceCheckUtils]: 5: Hoare triple {1217#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1217#true} is VALID [2022-04-08 10:54:04,034 INFO L272 TraceCheckUtils]: 6: Hoare triple {1217#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1217#true} is VALID [2022-04-08 10:54:04,035 INFO L290 TraceCheckUtils]: 7: Hoare triple {1217#true} ~cond := #in~cond; {1243#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 10:54:04,035 INFO L290 TraceCheckUtils]: 8: Hoare triple {1243#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1247#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 10:54:04,035 INFO L290 TraceCheckUtils]: 9: Hoare triple {1247#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1247#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 10:54:04,036 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1247#(not (= |assume_abort_if_not_#in~cond| 0))} {1217#true} #58#return; {1254#(<= 1 main_~b~0)} is VALID [2022-04-08 10:54:04,036 INFO L290 TraceCheckUtils]: 11: Hoare triple {1254#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1258#(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-08 10:54:04,037 INFO L290 TraceCheckUtils]: 12: Hoare triple {1258#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {1258#(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-08 10:54:04,037 INFO L272 TraceCheckUtils]: 13: Hoare triple {1258#(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)); {1217#true} is VALID [2022-04-08 10:54:04,037 INFO L290 TraceCheckUtils]: 14: Hoare triple {1217#true} ~cond := #in~cond; {1217#true} is VALID [2022-04-08 10:54:04,037 INFO L290 TraceCheckUtils]: 15: Hoare triple {1217#true} assume !(0 == ~cond); {1217#true} is VALID [2022-04-08 10:54:04,037 INFO L290 TraceCheckUtils]: 16: Hoare triple {1217#true} assume true; {1217#true} is VALID [2022-04-08 10:54:04,038 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1217#true} {1258#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #60#return; {1258#(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-08 10:54:04,038 INFO L290 TraceCheckUtils]: 18: Hoare triple {1258#(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); {1258#(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-08 10:54:04,039 INFO L290 TraceCheckUtils]: 19: Hoare triple {1258#(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);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {1283#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (= main_~z~0 main_~x~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 10:54:04,040 INFO L290 TraceCheckUtils]: 20: Hoare triple {1283#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (= main_~z~0 main_~x~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); {1287#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-08 10:54:04,040 INFO L290 TraceCheckUtils]: 21: Hoare triple {1287#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {1287#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-08 10:54:04,477 INFO L272 TraceCheckUtils]: 22: Hoare triple {1287#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1294#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:54:04,478 INFO L290 TraceCheckUtils]: 23: Hoare triple {1294#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1298#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:54:04,478 INFO L290 TraceCheckUtils]: 24: Hoare triple {1298#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1218#false} is VALID [2022-04-08 10:54:04,478 INFO L290 TraceCheckUtils]: 25: Hoare triple {1218#false} assume !false; {1218#false} is VALID [2022-04-08 10:54:04,478 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:54:04,478 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:54:32,530 INFO L290 TraceCheckUtils]: 25: Hoare triple {1218#false} assume !false; {1218#false} is VALID [2022-04-08 10:54:32,530 INFO L290 TraceCheckUtils]: 24: Hoare triple {1298#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1218#false} is VALID [2022-04-08 10:54:32,531 INFO L290 TraceCheckUtils]: 23: Hoare triple {1294#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1298#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:54:32,532 INFO L272 TraceCheckUtils]: 22: Hoare triple {1314#(= (+ 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)); {1294#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:54:32,532 INFO L290 TraceCheckUtils]: 21: Hoare triple {1314#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {1314#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-08 10:54:32,537 INFO L290 TraceCheckUtils]: 20: Hoare triple {1321#(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); {1314#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-08 10:54:32,539 INFO L290 TraceCheckUtils]: 19: Hoare triple {1325#(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; {1321#(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-08 10:54:32,539 INFO L290 TraceCheckUtils]: 18: Hoare triple {1325#(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); {1325#(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-08 10:54:32,540 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1217#true} {1325#(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))} #60#return; {1325#(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-08 10:54:32,540 INFO L290 TraceCheckUtils]: 16: Hoare triple {1217#true} assume true; {1217#true} is VALID [2022-04-08 10:54:32,540 INFO L290 TraceCheckUtils]: 15: Hoare triple {1217#true} assume !(0 == ~cond); {1217#true} is VALID [2022-04-08 10:54:32,540 INFO L290 TraceCheckUtils]: 14: Hoare triple {1217#true} ~cond := #in~cond; {1217#true} is VALID [2022-04-08 10:54:32,540 INFO L272 TraceCheckUtils]: 13: Hoare triple {1325#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1217#true} is VALID [2022-04-08 10:54:32,541 INFO L290 TraceCheckUtils]: 12: Hoare triple {1325#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !false; {1325#(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-08 10:54:34,542 WARN L290 TraceCheckUtils]: 11: Hoare triple {1217#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1325#(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-08 10:54:34,542 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1217#true} {1217#true} #58#return; {1217#true} is VALID [2022-04-08 10:54:34,542 INFO L290 TraceCheckUtils]: 9: Hoare triple {1217#true} assume true; {1217#true} is VALID [2022-04-08 10:54:34,542 INFO L290 TraceCheckUtils]: 8: Hoare triple {1217#true} assume !(0 == ~cond); {1217#true} is VALID [2022-04-08 10:54:34,543 INFO L290 TraceCheckUtils]: 7: Hoare triple {1217#true} ~cond := #in~cond; {1217#true} is VALID [2022-04-08 10:54:34,543 INFO L272 TraceCheckUtils]: 6: Hoare triple {1217#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1217#true} is VALID [2022-04-08 10:54:34,543 INFO L290 TraceCheckUtils]: 5: Hoare triple {1217#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1217#true} is VALID [2022-04-08 10:54:34,543 INFO L272 TraceCheckUtils]: 4: Hoare triple {1217#true} call #t~ret6 := main(); {1217#true} is VALID [2022-04-08 10:54:34,543 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1217#true} {1217#true} #64#return; {1217#true} is VALID [2022-04-08 10:54:34,543 INFO L290 TraceCheckUtils]: 2: Hoare triple {1217#true} assume true; {1217#true} is VALID [2022-04-08 10:54:34,543 INFO L290 TraceCheckUtils]: 1: Hoare triple {1217#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); {1217#true} is VALID [2022-04-08 10:54:34,543 INFO L272 TraceCheckUtils]: 0: Hoare triple {1217#true} call ULTIMATE.init(); {1217#true} is VALID [2022-04-08 10:54:34,544 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:54:34,544 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:54:34,544 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1546653980] [2022-04-08 10:54:34,544 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:54:34,544 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [801828246] [2022-04-08 10:54:34,544 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [801828246] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 10:54:34,544 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 10:54:34,544 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [10] total 13 [2022-04-08 10:54:34,544 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:54:34,544 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [912285380] [2022-04-08 10:54:34,545 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [912285380] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:54:34,545 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:54:34,545 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 10:54:34,545 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [811835925] [2022-04-08 10:54:34,545 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:54:34,545 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 26 [2022-04-08 10:54:34,545 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:54:34,545 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:54:35,703 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:54:35,704 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 10:54:35,704 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:54:35,704 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 10:54:35,704 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=122, Unknown=0, NotChecked=0, Total=156 [2022-04-08 10:54:35,704 INFO L87 Difference]: Start difference. First operand 40 states and 43 transitions. Second operand has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:54:37,732 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.54s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 10:54:37,911 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:54:37,911 INFO L93 Difference]: Finished difference Result 53 states and 58 transitions. [2022-04-08 10:54:37,911 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 10:54:37,912 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 26 [2022-04-08 10:54:37,912 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:54:37,912 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:54:37,913 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 41 transitions. [2022-04-08 10:54:37,913 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:54:37,914 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 41 transitions. [2022-04-08 10:54:37,914 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 41 transitions. [2022-04-08 10:54:37,952 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:54:37,953 INFO L225 Difference]: With dead ends: 53 [2022-04-08 10:54:37,953 INFO L226 Difference]: Without dead ends: 51 [2022-04-08 10:54:37,954 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 53 GetRequests, 39 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 5.4s TimeCoverageRelationStatistics Valid=44, Invalid=166, Unknown=0, NotChecked=0, Total=210 [2022-04-08 10:54:37,954 INFO L913 BasicCegarLoop]: 19 mSDtfsCounter, 8 mSDsluCounter, 76 mSDsCounter, 0 mSdLazyCounter, 64 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 95 SdHoareTripleChecker+Invalid, 71 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 64 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.7s IncrementalHoareTripleChecker+Time [2022-04-08 10:54:37,955 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 95 Invalid, 71 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 64 Invalid, 0 Unknown, 0 Unchecked, 1.7s Time] [2022-04-08 10:54:37,955 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-08 10:54:37,984 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 49. [2022-04-08 10:54:37,984 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:54:37,985 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 49 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 35 states have internal predecessors, (40), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 10:54:37,985 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 49 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 35 states have internal predecessors, (40), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 10:54:37,985 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 49 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 35 states have internal predecessors, (40), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 10:54:37,987 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:54:37,987 INFO L93 Difference]: Finished difference Result 51 states and 56 transitions. [2022-04-08 10:54:37,987 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 56 transitions. [2022-04-08 10:54:37,987 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:54:37,987 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:54:37,987 INFO L74 IsIncluded]: Start isIncluded. First operand has 49 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 35 states have internal predecessors, (40), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 51 states. [2022-04-08 10:54:37,988 INFO L87 Difference]: Start difference. First operand has 49 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 35 states have internal predecessors, (40), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 51 states. [2022-04-08 10:54:37,989 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:54:37,989 INFO L93 Difference]: Finished difference Result 51 states and 56 transitions. [2022-04-08 10:54:37,989 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 56 transitions. [2022-04-08 10:54:37,990 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:54:37,990 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:54:37,990 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:54:37,990 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:54:37,990 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 35 states have internal predecessors, (40), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 10:54:37,992 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 54 transitions. [2022-04-08 10:54:37,992 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 54 transitions. Word has length 26 [2022-04-08 10:54:37,992 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:54:37,992 INFO L478 AbstractCegarLoop]: Abstraction has 49 states and 54 transitions. [2022-04-08 10:54:37,992 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:54:37,992 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 49 states and 54 transitions. [2022-04-08 10:54:38,072 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:54:38,073 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 54 transitions. [2022-04-08 10:54:38,073 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-08 10:54:38,073 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:54:38,073 INFO L499 BasicCegarLoop]: trace histogram [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] [2022-04-08 10:54:38,092 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-08 10:54:38,283 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:54:38,283 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:54:38,284 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:54:38,284 INFO L85 PathProgramCache]: Analyzing trace with hash 730472692, now seen corresponding path program 1 times [2022-04-08 10:54:38,284 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:54:38,284 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [639401563] [2022-04-08 10:54:41,276 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:54:41,276 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:54:41,276 INFO L85 PathProgramCache]: Analyzing trace with hash 730472692, now seen corresponding path program 2 times [2022-04-08 10:54:41,276 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:54:41,276 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [558035759] [2022-04-08 10:54:41,276 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:54:41,277 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:54:41,297 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:54:41,297 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1215994834] [2022-04-08 10:54:41,297 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:54:41,297 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:54:41,297 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:54:41,300 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-08 10:54:41,301 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-08 10:54:41,337 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:54:41,337 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:54:41,338 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-08 10:54:41,347 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:54:41,349 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:54:51,507 INFO L272 TraceCheckUtils]: 0: Hoare triple {1695#true} call ULTIMATE.init(); {1695#true} is VALID [2022-04-08 10:54:51,507 INFO L290 TraceCheckUtils]: 1: Hoare triple {1695#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); {1695#true} is VALID [2022-04-08 10:54:51,507 INFO L290 TraceCheckUtils]: 2: Hoare triple {1695#true} assume true; {1695#true} is VALID [2022-04-08 10:54:51,508 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1695#true} {1695#true} #64#return; {1695#true} is VALID [2022-04-08 10:54:51,508 INFO L272 TraceCheckUtils]: 4: Hoare triple {1695#true} call #t~ret6 := main(); {1695#true} is VALID [2022-04-08 10:54:51,508 INFO L290 TraceCheckUtils]: 5: Hoare triple {1695#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1695#true} is VALID [2022-04-08 10:54:51,508 INFO L272 TraceCheckUtils]: 6: Hoare triple {1695#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1695#true} is VALID [2022-04-08 10:54:51,508 INFO L290 TraceCheckUtils]: 7: Hoare triple {1695#true} ~cond := #in~cond; {1695#true} is VALID [2022-04-08 10:54:51,508 INFO L290 TraceCheckUtils]: 8: Hoare triple {1695#true} assume !(0 == ~cond); {1695#true} is VALID [2022-04-08 10:54:51,508 INFO L290 TraceCheckUtils]: 9: Hoare triple {1695#true} assume true; {1695#true} is VALID [2022-04-08 10:54:51,509 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1695#true} {1695#true} #58#return; {1695#true} is VALID [2022-04-08 10:54:51,509 INFO L290 TraceCheckUtils]: 11: Hoare triple {1695#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1695#true} is VALID [2022-04-08 10:54:51,509 INFO L290 TraceCheckUtils]: 12: Hoare triple {1695#true} assume !false; {1695#true} is VALID [2022-04-08 10:54:51,509 INFO L272 TraceCheckUtils]: 13: Hoare triple {1695#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1695#true} is VALID [2022-04-08 10:54:51,509 INFO L290 TraceCheckUtils]: 14: Hoare triple {1695#true} ~cond := #in~cond; {1695#true} is VALID [2022-04-08 10:54:51,509 INFO L290 TraceCheckUtils]: 15: Hoare triple {1695#true} assume !(0 == ~cond); {1695#true} is VALID [2022-04-08 10:54:51,509 INFO L290 TraceCheckUtils]: 16: Hoare triple {1695#true} assume true; {1695#true} is VALID [2022-04-08 10:54:51,510 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1695#true} {1695#true} #60#return; {1695#true} is VALID [2022-04-08 10:54:51,510 INFO L290 TraceCheckUtils]: 18: Hoare triple {1695#true} assume !!(0 != ~y~0); {1695#true} is VALID [2022-04-08 10:54:51,510 INFO L290 TraceCheckUtils]: 19: Hoare triple {1695#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; {1695#true} is VALID [2022-04-08 10:54:51,510 INFO L290 TraceCheckUtils]: 20: Hoare triple {1695#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); {1695#true} is VALID [2022-04-08 10:54:51,510 INFO L290 TraceCheckUtils]: 21: Hoare triple {1695#true} assume !false; {1695#true} is VALID [2022-04-08 10:54:51,510 INFO L272 TraceCheckUtils]: 22: Hoare triple {1695#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1695#true} is VALID [2022-04-08 10:54:51,520 INFO L290 TraceCheckUtils]: 23: Hoare triple {1695#true} ~cond := #in~cond; {1769#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:54:51,521 INFO L290 TraceCheckUtils]: 24: Hoare triple {1769#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1773#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:54:51,521 INFO L290 TraceCheckUtils]: 25: Hoare triple {1773#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1773#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:54:53,524 WARN L284 TraceCheckUtils]: 26: Hoare quadruple {1773#(not (= |__VERIFIER_assert_#in~cond| 0))} {1695#true} #60#return; {1780#(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-08 10:54:53,524 INFO L290 TraceCheckUtils]: 27: Hoare triple {1780#(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); {1784#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-08 10:54:53,525 INFO L272 TraceCheckUtils]: 28: Hoare triple {1784#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {1788#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:54:53,525 INFO L290 TraceCheckUtils]: 29: Hoare triple {1788#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1792#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:54:53,526 INFO L290 TraceCheckUtils]: 30: Hoare triple {1792#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1696#false} is VALID [2022-04-08 10:54:53,526 INFO L290 TraceCheckUtils]: 31: Hoare triple {1696#false} assume !false; {1696#false} is VALID [2022-04-08 10:54:53,526 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-04-08 10:54:53,526 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:55:02,540 INFO L290 TraceCheckUtils]: 31: Hoare triple {1696#false} assume !false; {1696#false} is VALID [2022-04-08 10:55:02,541 INFO L290 TraceCheckUtils]: 30: Hoare triple {1792#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1696#false} is VALID [2022-04-08 10:55:02,541 INFO L290 TraceCheckUtils]: 29: Hoare triple {1788#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1792#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:55:02,542 INFO L272 TraceCheckUtils]: 28: Hoare triple {1784#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {1788#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:55:02,542 INFO L290 TraceCheckUtils]: 27: Hoare triple {1811#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} assume !(0 != ~y~0); {1784#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-08 10:55:02,543 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1773#(not (= |__VERIFIER_assert_#in~cond| 0))} {1695#true} #60#return; {1811#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} is VALID [2022-04-08 10:55:02,543 INFO L290 TraceCheckUtils]: 25: Hoare triple {1773#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1773#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:55:02,543 INFO L290 TraceCheckUtils]: 24: Hoare triple {1824#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1773#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:55:02,544 INFO L290 TraceCheckUtils]: 23: Hoare triple {1695#true} ~cond := #in~cond; {1824#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 10:55:02,544 INFO L272 TraceCheckUtils]: 22: Hoare triple {1695#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1695#true} is VALID [2022-04-08 10:55:02,544 INFO L290 TraceCheckUtils]: 21: Hoare triple {1695#true} assume !false; {1695#true} is VALID [2022-04-08 10:55:02,544 INFO L290 TraceCheckUtils]: 20: Hoare triple {1695#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); {1695#true} is VALID [2022-04-08 10:55:02,544 INFO L290 TraceCheckUtils]: 19: Hoare triple {1695#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; {1695#true} is VALID [2022-04-08 10:55:02,544 INFO L290 TraceCheckUtils]: 18: Hoare triple {1695#true} assume !!(0 != ~y~0); {1695#true} is VALID [2022-04-08 10:55:02,544 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1695#true} {1695#true} #60#return; {1695#true} is VALID [2022-04-08 10:55:02,544 INFO L290 TraceCheckUtils]: 16: Hoare triple {1695#true} assume true; {1695#true} is VALID [2022-04-08 10:55:02,544 INFO L290 TraceCheckUtils]: 15: Hoare triple {1695#true} assume !(0 == ~cond); {1695#true} is VALID [2022-04-08 10:55:02,544 INFO L290 TraceCheckUtils]: 14: Hoare triple {1695#true} ~cond := #in~cond; {1695#true} is VALID [2022-04-08 10:55:02,544 INFO L272 TraceCheckUtils]: 13: Hoare triple {1695#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1695#true} is VALID [2022-04-08 10:55:02,545 INFO L290 TraceCheckUtils]: 12: Hoare triple {1695#true} assume !false; {1695#true} is VALID [2022-04-08 10:55:02,545 INFO L290 TraceCheckUtils]: 11: Hoare triple {1695#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1695#true} is VALID [2022-04-08 10:55:02,545 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1695#true} {1695#true} #58#return; {1695#true} is VALID [2022-04-08 10:55:02,545 INFO L290 TraceCheckUtils]: 9: Hoare triple {1695#true} assume true; {1695#true} is VALID [2022-04-08 10:55:02,545 INFO L290 TraceCheckUtils]: 8: Hoare triple {1695#true} assume !(0 == ~cond); {1695#true} is VALID [2022-04-08 10:55:02,545 INFO L290 TraceCheckUtils]: 7: Hoare triple {1695#true} ~cond := #in~cond; {1695#true} is VALID [2022-04-08 10:55:02,545 INFO L272 TraceCheckUtils]: 6: Hoare triple {1695#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1695#true} is VALID [2022-04-08 10:55:02,545 INFO L290 TraceCheckUtils]: 5: Hoare triple {1695#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1695#true} is VALID [2022-04-08 10:55:02,545 INFO L272 TraceCheckUtils]: 4: Hoare triple {1695#true} call #t~ret6 := main(); {1695#true} is VALID [2022-04-08 10:55:02,545 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1695#true} {1695#true} #64#return; {1695#true} is VALID [2022-04-08 10:55:02,545 INFO L290 TraceCheckUtils]: 2: Hoare triple {1695#true} assume true; {1695#true} is VALID [2022-04-08 10:55:02,546 INFO L290 TraceCheckUtils]: 1: Hoare triple {1695#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); {1695#true} is VALID [2022-04-08 10:55:02,546 INFO L272 TraceCheckUtils]: 0: Hoare triple {1695#true} call ULTIMATE.init(); {1695#true} is VALID [2022-04-08 10:55:02,546 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-04-08 10:55:02,546 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:55:02,546 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [558035759] [2022-04-08 10:55:02,546 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:55:02,546 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1215994834] [2022-04-08 10:55:02,546 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1215994834] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:55:02,546 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 10:55:02,546 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-08 10:55:02,547 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:55:02,547 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [639401563] [2022-04-08 10:55:02,547 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [639401563] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:55:02,547 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:55:02,547 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 10:55:02,547 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1423917822] [2022-04-08 10:55:02,547 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:55:02,547 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 32 [2022-04-08 10:55:02,547 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:55:02,548 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 10:55:04,572 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 29 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 10:55:04,572 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 10:55:04,572 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:55:04,573 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 10:55:04,573 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-08 10:55:04,573 INFO L87 Difference]: Start difference. First operand 49 states and 54 transitions. Second operand has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 10:55:06,621 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-08 10:55:07,151 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:55:07,151 INFO L93 Difference]: Finished difference Result 56 states and 60 transitions. [2022-04-08 10:55:07,151 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 10:55:07,151 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 32 [2022-04-08 10:55:07,151 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:55:07,151 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 10:55:07,152 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 32 transitions. [2022-04-08 10:55:07,152 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 10:55:07,153 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 32 transitions. [2022-04-08 10:55:07,153 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 32 transitions. [2022-04-08 10:55:09,176 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 31 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 10:55:09,177 INFO L225 Difference]: With dead ends: 56 [2022-04-08 10:55:09,177 INFO L226 Difference]: Without dead ends: 49 [2022-04-08 10:55:09,177 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 65 GetRequests, 54 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-08 10:55:09,178 INFO L913 BasicCegarLoop]: 19 mSDtfsCounter, 13 mSDsluCounter, 72 mSDsCounter, 0 mSdLazyCounter, 62 mSolverCounterSat, 1 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 91 SdHoareTripleChecker+Invalid, 64 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 62 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.3s IncrementalHoareTripleChecker+Time [2022-04-08 10:55:09,178 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 91 Invalid, 64 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 62 Invalid, 1 Unknown, 0 Unchecked, 2.3s Time] [2022-04-08 10:55:09,178 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2022-04-08 10:55:09,212 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 47. [2022-04-08 10:55:09,212 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:55:09,212 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 10:55:09,212 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 10:55:09,212 INFO L87 Difference]: Start difference. First operand 49 states. Second operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 10:55:09,214 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:55:09,214 INFO L93 Difference]: Finished difference Result 49 states and 52 transitions. [2022-04-08 10:55:09,214 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 52 transitions. [2022-04-08 10:55:09,214 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:55:09,214 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:55:09,214 INFO L74 IsIncluded]: Start isIncluded. First operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 49 states. [2022-04-08 10:55:09,214 INFO L87 Difference]: Start difference. First operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 49 states. [2022-04-08 10:55:09,215 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:55:09,216 INFO L93 Difference]: Finished difference Result 49 states and 52 transitions. [2022-04-08 10:55:09,216 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 52 transitions. [2022-04-08 10:55:09,216 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:55:09,216 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:55:09,216 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:55:09,216 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:55:09,216 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 10:55:09,217 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 50 transitions. [2022-04-08 10:55:09,217 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 50 transitions. Word has length 32 [2022-04-08 10:55:09,217 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:55:09,218 INFO L478 AbstractCegarLoop]: Abstraction has 47 states and 50 transitions. [2022-04-08 10:55:09,218 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 10:55:09,218 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 47 states and 50 transitions. [2022-04-08 10:55:17,313 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 46 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-08 10:55:17,314 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 50 transitions. [2022-04-08 10:55:17,314 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-04-08 10:55:17,314 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:55:17,314 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:55:17,330 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-08 10:55:17,514 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:55:17,515 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:55:17,515 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:55:17,515 INFO L85 PathProgramCache]: Analyzing trace with hash 1040303587, now seen corresponding path program 3 times [2022-04-08 10:55:17,515 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:55:17,515 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [997374818] [2022-04-08 10:55:21,556 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:55:21,556 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:55:21,556 INFO L85 PathProgramCache]: Analyzing trace with hash 1040303587, now seen corresponding path program 4 times [2022-04-08 10:55:21,556 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:55:21,556 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [763970774] [2022-04-08 10:55:21,556 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:55:21,556 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:55:21,564 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:55:21,564 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1999024026] [2022-04-08 10:55:21,564 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:55:21,565 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:55:21,565 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:55:21,565 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-08 10:55:21,566 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-08 10:55:21,598 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:55:21,599 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:55:21,609 INFO L263 TraceCheckSpWp]: Trace formula consists of 73 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-08 10:55:21,635 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:55:21,636 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:55:29,452 INFO L272 TraceCheckUtils]: 0: Hoare triple {2204#true} call ULTIMATE.init(); {2204#true} is VALID [2022-04-08 10:55:29,453 INFO L290 TraceCheckUtils]: 1: Hoare triple {2204#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); {2204#true} is VALID [2022-04-08 10:55:29,453 INFO L290 TraceCheckUtils]: 2: Hoare triple {2204#true} assume true; {2204#true} is VALID [2022-04-08 10:55:29,453 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2204#true} {2204#true} #64#return; {2204#true} is VALID [2022-04-08 10:55:29,453 INFO L272 TraceCheckUtils]: 4: Hoare triple {2204#true} call #t~ret6 := main(); {2204#true} is VALID [2022-04-08 10:55:29,453 INFO L290 TraceCheckUtils]: 5: Hoare triple {2204#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2204#true} is VALID [2022-04-08 10:55:29,453 INFO L272 TraceCheckUtils]: 6: Hoare triple {2204#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2204#true} is VALID [2022-04-08 10:55:29,454 INFO L290 TraceCheckUtils]: 7: Hoare triple {2204#true} ~cond := #in~cond; {2230#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 10:55:29,454 INFO L290 TraceCheckUtils]: 8: Hoare triple {2230#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2234#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 10:55:29,454 INFO L290 TraceCheckUtils]: 9: Hoare triple {2234#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2234#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 10:55:29,455 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2234#(not (= |assume_abort_if_not_#in~cond| 0))} {2204#true} #58#return; {2241#(<= 1 main_~b~0)} is VALID [2022-04-08 10:55:29,459 INFO L290 TraceCheckUtils]: 11: Hoare triple {2241#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2245#(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-08 10:55:29,460 INFO L290 TraceCheckUtils]: 12: Hoare triple {2245#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {2245#(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-08 10:55:29,460 INFO L272 TraceCheckUtils]: 13: Hoare triple {2245#(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)); {2204#true} is VALID [2022-04-08 10:55:29,460 INFO L290 TraceCheckUtils]: 14: Hoare triple {2204#true} ~cond := #in~cond; {2255#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:55:29,461 INFO L290 TraceCheckUtils]: 15: Hoare triple {2255#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:55:29,461 INFO L290 TraceCheckUtils]: 16: Hoare triple {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:55:29,461 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} {2245#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #60#return; {2245#(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-08 10:55:29,462 INFO L290 TraceCheckUtils]: 18: Hoare triple {2245#(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); {2245#(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-08 10:55:29,462 INFO L290 TraceCheckUtils]: 19: Hoare triple {2245#(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)); {2272#(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-08 10:55:29,463 INFO L290 TraceCheckUtils]: 20: Hoare triple {2272#(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); {2276#(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-08 10:55:29,464 INFO L290 TraceCheckUtils]: 21: Hoare triple {2276#(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; {2276#(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-08 10:55:29,464 INFO L272 TraceCheckUtils]: 22: Hoare triple {2276#(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)); {2204#true} is VALID [2022-04-08 10:55:29,464 INFO L290 TraceCheckUtils]: 23: Hoare triple {2204#true} ~cond := #in~cond; {2204#true} is VALID [2022-04-08 10:55:29,464 INFO L290 TraceCheckUtils]: 24: Hoare triple {2204#true} assume !(0 == ~cond); {2204#true} is VALID [2022-04-08 10:55:29,465 INFO L290 TraceCheckUtils]: 25: Hoare triple {2204#true} assume true; {2204#true} is VALID [2022-04-08 10:55:29,465 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2204#true} {2276#(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))} #60#return; {2276#(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-08 10:55:29,465 INFO L290 TraceCheckUtils]: 27: Hoare triple {2276#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {2276#(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-08 10:55:29,466 INFO L290 TraceCheckUtils]: 28: Hoare triple {2276#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2301#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-08 10:55:29,467 INFO L290 TraceCheckUtils]: 29: Hoare triple {2301#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2305#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-08 10:55:29,468 INFO L290 TraceCheckUtils]: 30: Hoare triple {2305#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !false; {2305#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-08 10:55:29,470 INFO L272 TraceCheckUtils]: 31: Hoare triple {2305#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2312#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:55:29,470 INFO L290 TraceCheckUtils]: 32: Hoare triple {2312#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2316#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:55:29,470 INFO L290 TraceCheckUtils]: 33: Hoare triple {2316#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2205#false} is VALID [2022-04-08 10:55:29,470 INFO L290 TraceCheckUtils]: 34: Hoare triple {2205#false} assume !false; {2205#false} is VALID [2022-04-08 10:55:29,471 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 3 proven. 13 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 10:55:29,471 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:56:17,514 INFO L290 TraceCheckUtils]: 34: Hoare triple {2205#false} assume !false; {2205#false} is VALID [2022-04-08 10:56:17,514 INFO L290 TraceCheckUtils]: 33: Hoare triple {2316#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2205#false} is VALID [2022-04-08 10:56:17,515 INFO L290 TraceCheckUtils]: 32: Hoare triple {2312#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2316#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:56:17,515 INFO L272 TraceCheckUtils]: 31: Hoare triple {2332#(= (+ 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)); {2312#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:56:17,516 INFO L290 TraceCheckUtils]: 30: Hoare triple {2332#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {2332#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-08 10:56:17,520 INFO L290 TraceCheckUtils]: 29: Hoare triple {2339#(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); {2332#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-08 10:56:17,521 INFO L290 TraceCheckUtils]: 28: Hoare triple {2343#(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)); {2339#(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-08 10:56:17,521 INFO L290 TraceCheckUtils]: 27: Hoare triple {2343#(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); {2343#(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-08 10:56:17,522 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2204#true} {2343#(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)))))} #60#return; {2343#(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-08 10:56:17,522 INFO L290 TraceCheckUtils]: 25: Hoare triple {2204#true} assume true; {2204#true} is VALID [2022-04-08 10:56:17,522 INFO L290 TraceCheckUtils]: 24: Hoare triple {2204#true} assume !(0 == ~cond); {2204#true} is VALID [2022-04-08 10:56:17,522 INFO L290 TraceCheckUtils]: 23: Hoare triple {2204#true} ~cond := #in~cond; {2204#true} is VALID [2022-04-08 10:56:17,522 INFO L272 TraceCheckUtils]: 22: Hoare triple {2343#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2204#true} is VALID [2022-04-08 10:56:17,527 INFO L290 TraceCheckUtils]: 21: Hoare triple {2343#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !false; {2343#(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-08 10:56:17,539 INFO L290 TraceCheckUtils]: 20: Hoare triple {2368#(and (or (not (< main_~y~0 0)) (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2)))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2343#(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-08 10:56:17,540 INFO L290 TraceCheckUtils]: 19: Hoare triple {2372#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2368#(and (or (not (< main_~y~0 0)) (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2)))))} is VALID [2022-04-08 10:56:17,541 INFO L290 TraceCheckUtils]: 18: Hoare triple {2372#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} assume !!(0 != ~y~0); {2372#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} is VALID [2022-04-08 10:56:17,550 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} {2379#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (* main_~b~0 main_~a~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) main_~z~0)))} #60#return; {2372#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} is VALID [2022-04-08 10:56:17,550 INFO L290 TraceCheckUtils]: 16: Hoare triple {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:56:17,550 INFO L290 TraceCheckUtils]: 15: Hoare triple {2389#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:56:17,551 INFO L290 TraceCheckUtils]: 14: Hoare triple {2204#true} ~cond := #in~cond; {2389#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 10:56:17,551 INFO L272 TraceCheckUtils]: 13: Hoare triple {2379#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (* main_~b~0 main_~a~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) main_~z~0)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2204#true} is VALID [2022-04-08 10:56:17,551 INFO L290 TraceCheckUtils]: 12: Hoare triple {2379#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (* main_~b~0 main_~a~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) main_~z~0)))} assume !false; {2379#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (* main_~b~0 main_~a~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) main_~z~0)))} is VALID [2022-04-08 10:56:17,552 INFO L290 TraceCheckUtils]: 11: Hoare triple {2399#(or (forall ((main_~a~0 Int)) (= (* (* main_~a~0 (div (+ (div main_~b~0 2) 1) 2)) 4) (* main_~b~0 main_~a~0))) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2379#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (* main_~b~0 main_~a~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) main_~z~0)))} is VALID [2022-04-08 10:56:17,553 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2234#(not (= |assume_abort_if_not_#in~cond| 0))} {2204#true} #58#return; {2399#(or (forall ((main_~a~0 Int)) (= (* (* main_~a~0 (div (+ (div main_~b~0 2) 1) 2)) 4) (* main_~b~0 main_~a~0))) (<= 0 main_~b~0))} is VALID [2022-04-08 10:56:17,553 INFO L290 TraceCheckUtils]: 9: Hoare triple {2234#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2234#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 10:56:17,554 INFO L290 TraceCheckUtils]: 8: Hoare triple {2412#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {2234#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 10:56:17,554 INFO L290 TraceCheckUtils]: 7: Hoare triple {2204#true} ~cond := #in~cond; {2412#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 10:56:17,554 INFO L272 TraceCheckUtils]: 6: Hoare triple {2204#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2204#true} is VALID [2022-04-08 10:56:17,554 INFO L290 TraceCheckUtils]: 5: Hoare triple {2204#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2204#true} is VALID [2022-04-08 10:56:17,554 INFO L272 TraceCheckUtils]: 4: Hoare triple {2204#true} call #t~ret6 := main(); {2204#true} is VALID [2022-04-08 10:56:17,554 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2204#true} {2204#true} #64#return; {2204#true} is VALID [2022-04-08 10:56:17,554 INFO L290 TraceCheckUtils]: 2: Hoare triple {2204#true} assume true; {2204#true} is VALID [2022-04-08 10:56:17,555 INFO L290 TraceCheckUtils]: 1: Hoare triple {2204#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); {2204#true} is VALID [2022-04-08 10:56:17,555 INFO L272 TraceCheckUtils]: 0: Hoare triple {2204#true} call ULTIMATE.init(); {2204#true} is VALID [2022-04-08 10:56:17,555 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 3 proven. 13 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 10:56:17,555 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:56:17,555 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [763970774] [2022-04-08 10:56:17,555 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:56:17,555 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1999024026] [2022-04-08 10:56:17,555 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1999024026] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:56:17,556 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 10:56:17,556 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 15] total 23 [2022-04-08 10:56:17,556 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:56:17,556 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [997374818] [2022-04-08 10:56:17,556 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [997374818] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:56:17,556 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:56:17,556 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 10:56:17,556 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1348215456] [2022-04-08 10:56:17,556 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:56:17,556 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 35 [2022-04-08 10:56:17,557 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:56:17,557 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 10:56:17,583 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:56:17,583 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 10:56:17,583 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:56:17,584 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 10:56:17,584 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=90, Invalid=416, Unknown=0, NotChecked=0, Total=506 [2022-04-08 10:56:17,584 INFO L87 Difference]: Start difference. First operand 47 states and 50 transitions. Second operand has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 10:56:18,817 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:56:18,817 INFO L93 Difference]: Finished difference Result 61 states and 66 transitions. [2022-04-08 10:56:18,817 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 10:56:18,817 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 35 [2022-04-08 10:56:18,817 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:56:18,818 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 10:56:18,819 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 50 transitions. [2022-04-08 10:56:18,819 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 10:56:18,820 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 50 transitions. [2022-04-08 10:56:18,820 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 50 transitions. [2022-04-08 10:56:18,863 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:56:18,864 INFO L225 Difference]: With dead ends: 61 [2022-04-08 10:56:18,864 INFO L226 Difference]: Without dead ends: 59 [2022-04-08 10:56:18,864 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 72 GetRequests, 46 SyntacticMatches, 2 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 133 ImplicationChecksByTransitivity, 3.0s TimeCoverageRelationStatistics Valid=108, Invalid=542, Unknown=0, NotChecked=0, Total=650 [2022-04-08 10:56:18,864 INFO L913 BasicCegarLoop]: 17 mSDtfsCounter, 28 mSDsluCounter, 123 mSDsCounter, 0 mSdLazyCounter, 278 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 140 SdHoareTripleChecker+Invalid, 287 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 278 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-08 10:56:18,865 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [30 Valid, 140 Invalid, 287 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 278 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-08 10:56:18,865 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2022-04-08 10:56:18,897 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 56. [2022-04-08 10:56:18,897 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:56:18,898 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 10:56:18,898 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 10:56:18,898 INFO L87 Difference]: Start difference. First operand 59 states. Second operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 10:56:18,899 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:56:18,899 INFO L93 Difference]: Finished difference Result 59 states and 64 transitions. [2022-04-08 10:56:18,899 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 64 transitions. [2022-04-08 10:56:18,900 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:56:18,900 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:56:18,900 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 59 states. [2022-04-08 10:56:18,900 INFO L87 Difference]: Start difference. First operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 59 states. [2022-04-08 10:56:18,901 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:56:18,901 INFO L93 Difference]: Finished difference Result 59 states and 64 transitions. [2022-04-08 10:56:18,901 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 64 transitions. [2022-04-08 10:56:18,902 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:56:18,902 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:56:18,902 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:56:18,902 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:56:18,902 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 10:56:18,903 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 60 transitions. [2022-04-08 10:56:18,903 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 60 transitions. Word has length 35 [2022-04-08 10:56:18,903 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:56:18,903 INFO L478 AbstractCegarLoop]: Abstraction has 56 states and 60 transitions. [2022-04-08 10:56:18,903 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 10:56:18,904 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 56 states and 60 transitions. [2022-04-08 10:56:29,044 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 55 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-08 10:56:29,044 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 60 transitions. [2022-04-08 10:56:29,045 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-04-08 10:56:29,045 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:56:29,045 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:56:29,061 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-08 10:56:29,261 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:56:29,261 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:56:29,261 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:56:29,262 INFO L85 PathProgramCache]: Analyzing trace with hash -734703775, now seen corresponding path program 1 times [2022-04-08 10:56:29,262 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:56:29,262 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [912577489] [2022-04-08 10:56:31,900 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:56:31,900 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:56:31,900 INFO L85 PathProgramCache]: Analyzing trace with hash -734703775, now seen corresponding path program 2 times [2022-04-08 10:56:31,900 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:56:31,900 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [316877137] [2022-04-08 10:56:31,901 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:56:31,901 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:56:31,911 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:56:31,912 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [409678132] [2022-04-08 10:56:31,912 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:56:31,912 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:56:31,912 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:56:31,913 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-08 10:56:31,913 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-08 10:56:31,947 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:56:31,947 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:56:31,948 INFO L263 TraceCheckSpWp]: Trace formula consists of 109 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-08 10:56:31,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:56:31,959 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:56:35,807 INFO L272 TraceCheckUtils]: 0: Hoare triple {2794#true} call ULTIMATE.init(); {2794#true} is VALID [2022-04-08 10:56:35,808 INFO L290 TraceCheckUtils]: 1: Hoare triple {2794#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); {2794#true} is VALID [2022-04-08 10:56:35,808 INFO L290 TraceCheckUtils]: 2: Hoare triple {2794#true} assume true; {2794#true} is VALID [2022-04-08 10:56:35,808 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2794#true} {2794#true} #64#return; {2794#true} is VALID [2022-04-08 10:56:35,808 INFO L272 TraceCheckUtils]: 4: Hoare triple {2794#true} call #t~ret6 := main(); {2794#true} is VALID [2022-04-08 10:56:35,808 INFO L290 TraceCheckUtils]: 5: Hoare triple {2794#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2794#true} is VALID [2022-04-08 10:56:35,808 INFO L272 TraceCheckUtils]: 6: Hoare triple {2794#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2794#true} is VALID [2022-04-08 10:56:35,810 INFO L290 TraceCheckUtils]: 7: Hoare triple {2794#true} ~cond := #in~cond; {2820#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 10:56:35,810 INFO L290 TraceCheckUtils]: 8: Hoare triple {2820#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2824#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 10:56:35,810 INFO L290 TraceCheckUtils]: 9: Hoare triple {2824#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2824#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 10:56:35,811 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2824#(not (= |assume_abort_if_not_#in~cond| 0))} {2794#true} #58#return; {2831#(<= 1 main_~b~0)} is VALID [2022-04-08 10:56:35,811 INFO L290 TraceCheckUtils]: 11: Hoare triple {2831#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2835#(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-08 10:56:35,812 INFO L290 TraceCheckUtils]: 12: Hoare triple {2835#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {2835#(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-08 10:56:35,812 INFO L272 TraceCheckUtils]: 13: Hoare triple {2835#(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)); {2794#true} is VALID [2022-04-08 10:56:35,812 INFO L290 TraceCheckUtils]: 14: Hoare triple {2794#true} ~cond := #in~cond; {2845#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:56:35,812 INFO L290 TraceCheckUtils]: 15: Hoare triple {2845#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2849#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:56:35,813 INFO L290 TraceCheckUtils]: 16: Hoare triple {2849#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2849#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:56:35,813 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2849#(not (= |__VERIFIER_assert_#in~cond| 0))} {2835#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #60#return; {2835#(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-08 10:56:35,814 INFO L290 TraceCheckUtils]: 18: Hoare triple {2835#(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); {2835#(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-08 10:56:35,815 INFO L290 TraceCheckUtils]: 19: Hoare triple {2835#(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)); {2862#(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-08 10:56:35,816 INFO L290 TraceCheckUtils]: 20: Hoare triple {2862#(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); {2866#(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-08 10:56:35,816 INFO L290 TraceCheckUtils]: 21: Hoare triple {2866#(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; {2866#(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-08 10:56:35,816 INFO L272 TraceCheckUtils]: 22: Hoare triple {2866#(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)); {2794#true} is VALID [2022-04-08 10:56:35,816 INFO L290 TraceCheckUtils]: 23: Hoare triple {2794#true} ~cond := #in~cond; {2794#true} is VALID [2022-04-08 10:56:35,816 INFO L290 TraceCheckUtils]: 24: Hoare triple {2794#true} assume !(0 == ~cond); {2794#true} is VALID [2022-04-08 10:56:35,816 INFO L290 TraceCheckUtils]: 25: Hoare triple {2794#true} assume true; {2794#true} is VALID [2022-04-08 10:56:35,817 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2794#true} {2866#(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))} #60#return; {2866#(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-08 10:56:35,817 INFO L290 TraceCheckUtils]: 27: Hoare triple {2866#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {2866#(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-08 10:56:35,818 INFO L290 TraceCheckUtils]: 28: Hoare triple {2866#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2891#(and (= main_~z~0 main_~x~0) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (= (div main_~b~0 2) (+ main_~y~0 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-08 10:56:35,820 INFO L290 TraceCheckUtils]: 29: Hoare triple {2891#(and (= main_~z~0 main_~x~0) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (= (div main_~b~0 2) (+ main_~y~0 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2895#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-08 10:56:35,820 INFO L290 TraceCheckUtils]: 30: Hoare triple {2895#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} assume !false; {2895#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-08 10:56:35,946 INFO L272 TraceCheckUtils]: 31: Hoare triple {2895#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2902#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:56:35,946 INFO L290 TraceCheckUtils]: 32: Hoare triple {2902#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2906#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:56:35,946 INFO L290 TraceCheckUtils]: 33: Hoare triple {2906#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2795#false} is VALID [2022-04-08 10:56:35,947 INFO L290 TraceCheckUtils]: 34: Hoare triple {2795#false} assume !false; {2795#false} is VALID [2022-04-08 10:56:35,947 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 3 proven. 13 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 10:56:35,947 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:59:24,733 INFO L290 TraceCheckUtils]: 34: Hoare triple {2795#false} assume !false; {2795#false} is VALID [2022-04-08 10:59:24,733 INFO L290 TraceCheckUtils]: 33: Hoare triple {2906#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2795#false} is VALID [2022-04-08 10:59:24,734 INFO L290 TraceCheckUtils]: 32: Hoare triple {2902#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2906#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:59:24,734 INFO L272 TraceCheckUtils]: 31: Hoare triple {2922#(= (+ 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)); {2902#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:59:24,735 INFO L290 TraceCheckUtils]: 30: Hoare triple {2922#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {2922#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-08 10:59:24,739 INFO L290 TraceCheckUtils]: 29: Hoare triple {2929#(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); {2922#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-08 10:59:24,743 INFO L290 TraceCheckUtils]: 28: Hoare triple {2933#(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; {2929#(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-08 10:59:24,743 INFO L290 TraceCheckUtils]: 27: Hoare triple {2933#(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); {2933#(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-08 10:59:24,744 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2794#true} {2933#(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))} #60#return; {2933#(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-08 10:59:24,744 INFO L290 TraceCheckUtils]: 25: Hoare triple {2794#true} assume true; {2794#true} is VALID [2022-04-08 10:59:24,744 INFO L290 TraceCheckUtils]: 24: Hoare triple {2794#true} assume !(0 == ~cond); {2794#true} is VALID [2022-04-08 10:59:24,744 INFO L290 TraceCheckUtils]: 23: Hoare triple {2794#true} ~cond := #in~cond; {2794#true} is VALID [2022-04-08 10:59:24,744 INFO L272 TraceCheckUtils]: 22: Hoare triple {2933#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2794#true} is VALID [2022-04-08 10:59:24,745 INFO L290 TraceCheckUtils]: 21: Hoare triple {2933#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !false; {2933#(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-08 10:59:25,129 INFO L290 TraceCheckUtils]: 20: Hoare triple {2958#(or (forall ((aux_div_aux_mod_v_main_~y~0_61_22_75 Int)) (or (< (div main_~y~0 2) (+ 1 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75))) (= (* main_~b~0 main_~a~0) (+ (* main_~x~0 2) (* (* main_~x~0 aux_div_aux_mod_v_main_~y~0_61_22_75) 4) main_~z~0)) (<= (+ 3 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75)) (div main_~y~0 2)))) (< (div main_~y~0 2) 0) (<= (div (- (div main_~y~0 2)) (- 2)) (+ (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); {2933#(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-08 10:59:25,131 INFO L290 TraceCheckUtils]: 19: Hoare triple {2962#(or (forall ((aux_div_aux_mod_v_main_~y~0_61_22_75 Int)) (or (< (div main_~y~0 2) (+ 1 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75))) (= (* main_~b~0 main_~a~0) (+ (* main_~x~0 2) (* (* main_~x~0 aux_div_aux_mod_v_main_~y~0_61_22_75) 4) main_~z~0)) (<= (+ 3 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75)) (div main_~y~0 2)))) (= (mod main_~y~0 2) 1) (<= (div (* (- 1) (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1)) (< (div main_~y~0 2) 0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2958#(or (forall ((aux_div_aux_mod_v_main_~y~0_61_22_75 Int)) (or (< (div main_~y~0 2) (+ 1 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75))) (= (* main_~b~0 main_~a~0) (+ (* main_~x~0 2) (* (* main_~x~0 aux_div_aux_mod_v_main_~y~0_61_22_75) 4) main_~z~0)) (<= (+ 3 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75)) (div main_~y~0 2)))) (< (div main_~y~0 2) 0) (<= (div (- (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1)))} is VALID [2022-04-08 10:59:25,132 INFO L290 TraceCheckUtils]: 18: Hoare triple {2962#(or (forall ((aux_div_aux_mod_v_main_~y~0_61_22_75 Int)) (or (< (div main_~y~0 2) (+ 1 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75))) (= (* main_~b~0 main_~a~0) (+ (* main_~x~0 2) (* (* main_~x~0 aux_div_aux_mod_v_main_~y~0_61_22_75) 4) main_~z~0)) (<= (+ 3 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75)) (div main_~y~0 2)))) (= (mod main_~y~0 2) 1) (<= (div (* (- 1) (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1)) (< (div main_~y~0 2) 0))} assume !!(0 != ~y~0); {2962#(or (forall ((aux_div_aux_mod_v_main_~y~0_61_22_75 Int)) (or (< (div main_~y~0 2) (+ 1 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75))) (= (* main_~b~0 main_~a~0) (+ (* main_~x~0 2) (* (* main_~x~0 aux_div_aux_mod_v_main_~y~0_61_22_75) 4) main_~z~0)) (<= (+ 3 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75)) (div main_~y~0 2)))) (= (mod main_~y~0 2) 1) (<= (div (* (- 1) (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1)) (< (div main_~y~0 2) 0))} is VALID [2022-04-08 10:59:25,274 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2849#(not (= |__VERIFIER_assert_#in~cond| 0))} {2794#true} #60#return; {2962#(or (forall ((aux_div_aux_mod_v_main_~y~0_61_22_75 Int)) (or (< (div main_~y~0 2) (+ 1 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75))) (= (* main_~b~0 main_~a~0) (+ (* main_~x~0 2) (* (* main_~x~0 aux_div_aux_mod_v_main_~y~0_61_22_75) 4) main_~z~0)) (<= (+ 3 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75)) (div main_~y~0 2)))) (= (mod main_~y~0 2) 1) (<= (div (* (- 1) (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1)) (< (div main_~y~0 2) 0))} is VALID [2022-04-08 10:59:25,275 INFO L290 TraceCheckUtils]: 16: Hoare triple {2849#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2849#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:59:25,275 INFO L290 TraceCheckUtils]: 15: Hoare triple {2978#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2849#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:59:25,275 INFO L290 TraceCheckUtils]: 14: Hoare triple {2794#true} ~cond := #in~cond; {2978#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 10:59:25,275 INFO L272 TraceCheckUtils]: 13: Hoare triple {2794#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2794#true} is VALID [2022-04-08 10:59:25,275 INFO L290 TraceCheckUtils]: 12: Hoare triple {2794#true} assume !false; {2794#true} is VALID [2022-04-08 10:59:25,276 INFO L290 TraceCheckUtils]: 11: Hoare triple {2794#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2794#true} is VALID [2022-04-08 10:59:25,276 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2794#true} {2794#true} #58#return; {2794#true} is VALID [2022-04-08 10:59:25,276 INFO L290 TraceCheckUtils]: 9: Hoare triple {2794#true} assume true; {2794#true} is VALID [2022-04-08 10:59:25,276 INFO L290 TraceCheckUtils]: 8: Hoare triple {2794#true} assume !(0 == ~cond); {2794#true} is VALID [2022-04-08 10:59:25,276 INFO L290 TraceCheckUtils]: 7: Hoare triple {2794#true} ~cond := #in~cond; {2794#true} is VALID [2022-04-08 10:59:25,276 INFO L272 TraceCheckUtils]: 6: Hoare triple {2794#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2794#true} is VALID [2022-04-08 10:59:25,276 INFO L290 TraceCheckUtils]: 5: Hoare triple {2794#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2794#true} is VALID [2022-04-08 10:59:25,276 INFO L272 TraceCheckUtils]: 4: Hoare triple {2794#true} call #t~ret6 := main(); {2794#true} is VALID [2022-04-08 10:59:25,276 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2794#true} {2794#true} #64#return; {2794#true} is VALID [2022-04-08 10:59:25,276 INFO L290 TraceCheckUtils]: 2: Hoare triple {2794#true} assume true; {2794#true} is VALID [2022-04-08 10:59:25,276 INFO L290 TraceCheckUtils]: 1: Hoare triple {2794#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); {2794#true} is VALID [2022-04-08 10:59:25,277 INFO L272 TraceCheckUtils]: 0: Hoare triple {2794#true} call ULTIMATE.init(); {2794#true} is VALID [2022-04-08 10:59:25,277 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 8 proven. 6 refuted. 2 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 10:59:25,277 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:59:25,277 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [316877137] [2022-04-08 10:59:25,277 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:59:25,277 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [409678132] [2022-04-08 10:59:25,277 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [409678132] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:59:25,277 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 10:59:25,277 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 11] total 20 [2022-04-08 10:59:25,278 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:59:25,278 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [912577489] [2022-04-08 10:59:25,278 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [912577489] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:59:25,278 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:59:25,278 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 10:59:25,278 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [361331451] [2022-04-08 10:59:25,278 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:59:25,278 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 35 [2022-04-08 10:59:25,279 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:59:25,279 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 10:59:25,424 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:59:25,424 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 10:59:25,425 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:59:25,425 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 10:59:25,425 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=70, Invalid=309, Unknown=1, NotChecked=0, Total=380 [2022-04-08 10:59:25,425 INFO L87 Difference]: Start difference. First operand 56 states and 60 transitions. Second operand has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 10:59:28,929 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:59:28,930 INFO L93 Difference]: Finished difference Result 68 states and 73 transitions. [2022-04-08 10:59:28,930 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 10:59:28,930 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 35 [2022-04-08 10:59:28,930 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:59:28,930 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 10:59:28,932 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 51 transitions. [2022-04-08 10:59:28,932 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 10:59:28,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 51 transitions. [2022-04-08 10:59:28,933 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 51 transitions. [2022-04-08 10:59:29,349 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:59:29,350 INFO L225 Difference]: With dead ends: 68 [2022-04-08 10:59:29,350 INFO L226 Difference]: Without dead ends: 66 [2022-04-08 10:59:29,350 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 72 GetRequests, 48 SyntacticMatches, 3 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 96 ImplicationChecksByTransitivity, 12.1s TimeCoverageRelationStatistics Valid=87, Invalid=418, Unknown=1, NotChecked=0, Total=506 [2022-04-08 10:59:29,351 INFO L913 BasicCegarLoop]: 17 mSDtfsCounter, 28 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 261 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 134 SdHoareTripleChecker+Invalid, 271 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 261 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.6s IncrementalHoareTripleChecker+Time [2022-04-08 10:59:29,351 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [30 Valid, 134 Invalid, 271 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 261 Invalid, 0 Unknown, 0 Unchecked, 1.6s Time] [2022-04-08 10:59:29,351 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-04-08 10:59:29,389 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 56. [2022-04-08 10:59:29,389 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:59:29,390 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 10:59:29,390 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 10:59:29,390 INFO L87 Difference]: Start difference. First operand 66 states. Second operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 10:59:29,391 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:59:29,391 INFO L93 Difference]: Finished difference Result 66 states and 71 transitions. [2022-04-08 10:59:29,392 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 71 transitions. [2022-04-08 10:59:29,392 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:59:29,392 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:59:29,392 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 66 states. [2022-04-08 10:59:29,392 INFO L87 Difference]: Start difference. First operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 66 states. [2022-04-08 10:59:29,393 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:59:29,394 INFO L93 Difference]: Finished difference Result 66 states and 71 transitions. [2022-04-08 10:59:29,394 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 71 transitions. [2022-04-08 10:59:29,394 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:59:29,394 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:59:29,394 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:59:29,394 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:59:29,394 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 10:59:29,395 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 60 transitions. [2022-04-08 10:59:29,395 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 60 transitions. Word has length 35 [2022-04-08 10:59:29,395 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:59:29,396 INFO L478 AbstractCegarLoop]: Abstraction has 56 states and 60 transitions. [2022-04-08 10:59:29,396 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 10:59:29,396 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 56 states and 60 transitions. [2022-04-08 10:59:39,670 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 55 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-08 10:59:39,671 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 60 transitions. [2022-04-08 10:59:39,671 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-04-08 10:59:39,671 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:59:39,671 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:59:39,687 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-08 10:59:39,883 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:59:39,883 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:59:39,884 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:59:39,884 INFO L85 PathProgramCache]: Analyzing trace with hash 2061371941, now seen corresponding path program 3 times [2022-04-08 10:59:39,884 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:59:39,884 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2101762160] [2022-04-08 10:59:45,703 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:59:45,703 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:59:45,703 INFO L85 PathProgramCache]: Analyzing trace with hash 2061371941, now seen corresponding path program 4 times [2022-04-08 10:59:45,703 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:59:45,703 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1223932353] [2022-04-08 10:59:45,704 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:59:45,704 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:59:45,711 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:59:45,711 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [948311544] [2022-04-08 10:59:45,711 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:59:45,712 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:59:45,712 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:59:45,715 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-08 10:59:45,716 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-08 10:59:45,754 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:59:45,755 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:59:45,755 INFO L263 TraceCheckSpWp]: Trace formula consists of 78 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-08 10:59:45,770 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:59:45,771 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:59:51,985 INFO L272 TraceCheckUtils]: 0: Hoare triple {3409#true} call ULTIMATE.init(); {3409#true} is VALID [2022-04-08 10:59:51,985 INFO L290 TraceCheckUtils]: 1: Hoare triple {3409#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); {3409#true} is VALID [2022-04-08 10:59:51,986 INFO L290 TraceCheckUtils]: 2: Hoare triple {3409#true} assume true; {3409#true} is VALID [2022-04-08 10:59:51,986 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3409#true} {3409#true} #64#return; {3409#true} is VALID [2022-04-08 10:59:51,986 INFO L272 TraceCheckUtils]: 4: Hoare triple {3409#true} call #t~ret6 := main(); {3409#true} is VALID [2022-04-08 10:59:51,986 INFO L290 TraceCheckUtils]: 5: Hoare triple {3409#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3409#true} is VALID [2022-04-08 10:59:51,986 INFO L272 TraceCheckUtils]: 6: Hoare triple {3409#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3409#true} is VALID [2022-04-08 10:59:51,986 INFO L290 TraceCheckUtils]: 7: Hoare triple {3409#true} ~cond := #in~cond; {3409#true} is VALID [2022-04-08 10:59:51,986 INFO L290 TraceCheckUtils]: 8: Hoare triple {3409#true} assume !(0 == ~cond); {3409#true} is VALID [2022-04-08 10:59:51,986 INFO L290 TraceCheckUtils]: 9: Hoare triple {3409#true} assume true; {3409#true} is VALID [2022-04-08 10:59:51,986 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3409#true} {3409#true} #58#return; {3409#true} is VALID [2022-04-08 10:59:51,987 INFO L290 TraceCheckUtils]: 11: Hoare triple {3409#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3447#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 10:59:52,000 INFO L290 TraceCheckUtils]: 12: Hoare triple {3447#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {3447#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 10:59:52,001 INFO L272 TraceCheckUtils]: 13: Hoare triple {3447#(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)); {3409#true} is VALID [2022-04-08 10:59:52,001 INFO L290 TraceCheckUtils]: 14: Hoare triple {3409#true} ~cond := #in~cond; {3409#true} is VALID [2022-04-08 10:59:52,001 INFO L290 TraceCheckUtils]: 15: Hoare triple {3409#true} assume !(0 == ~cond); {3409#true} is VALID [2022-04-08 10:59:52,001 INFO L290 TraceCheckUtils]: 16: Hoare triple {3409#true} assume true; {3409#true} is VALID [2022-04-08 10:59:52,002 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3409#true} {3447#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #60#return; {3447#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 10:59:52,002 INFO L290 TraceCheckUtils]: 18: Hoare triple {3447#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {3469#(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-08 10:59:52,003 INFO L290 TraceCheckUtils]: 19: Hoare triple {3469#(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; {3473#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (= main_~z~0 main_~x~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 10:59:52,004 INFO L290 TraceCheckUtils]: 20: Hoare triple {3473#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (= main_~z~0 main_~x~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3477#(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-08 10:59:52,005 INFO L290 TraceCheckUtils]: 21: Hoare triple {3477#(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; {3477#(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-08 10:59:52,005 INFO L272 TraceCheckUtils]: 22: Hoare triple {3477#(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)); {3409#true} is VALID [2022-04-08 10:59:52,005 INFO L290 TraceCheckUtils]: 23: Hoare triple {3409#true} ~cond := #in~cond; {3487#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:59:52,005 INFO L290 TraceCheckUtils]: 24: Hoare triple {3487#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3491#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:59:52,006 INFO L290 TraceCheckUtils]: 25: Hoare triple {3491#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3491#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:59:52,006 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3491#(not (= |__VERIFIER_assert_#in~cond| 0))} {3477#(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))} #60#return; {3477#(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-08 10:59:52,007 INFO L290 TraceCheckUtils]: 27: Hoare triple {3477#(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 !!(0 != ~y~0); {3477#(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-08 10:59:52,008 INFO L290 TraceCheckUtils]: 28: Hoare triple {3477#(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 !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3504#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-08 10:59:52,009 INFO L290 TraceCheckUtils]: 29: Hoare triple {3504#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3508#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} is VALID [2022-04-08 10:59:52,010 INFO L290 TraceCheckUtils]: 30: Hoare triple {3508#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} assume !false; {3508#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} is VALID [2022-04-08 10:59:54,013 WARN L272 TraceCheckUtils]: 31: Hoare triple {3508#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3515#(<= 1 |__VERIFIER_assert_#in~cond|)} is UNKNOWN [2022-04-08 10:59:54,014 INFO L290 TraceCheckUtils]: 32: Hoare triple {3515#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3519#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:59:54,014 INFO L290 TraceCheckUtils]: 33: Hoare triple {3519#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3410#false} is VALID [2022-04-08 10:59:54,014 INFO L290 TraceCheckUtils]: 34: Hoare triple {3410#false} assume !false; {3410#false} is VALID [2022-04-08 10:59:54,015 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 10:59:54,015 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 11:02:08,581 INFO L290 TraceCheckUtils]: 34: Hoare triple {3410#false} assume !false; {3410#false} is VALID [2022-04-08 11:02:08,582 INFO L290 TraceCheckUtils]: 33: Hoare triple {3519#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3410#false} is VALID [2022-04-08 11:02:08,582 INFO L290 TraceCheckUtils]: 32: Hoare triple {3515#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3519#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:02:08,583 INFO L272 TraceCheckUtils]: 31: Hoare triple {3535#(= (+ 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)); {3515#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 11:02:08,583 INFO L290 TraceCheckUtils]: 30: Hoare triple {3535#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {3535#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-08 11:02:08,592 INFO L290 TraceCheckUtils]: 29: Hoare triple {3542#(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); {3535#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-08 11:02:08,593 INFO L290 TraceCheckUtils]: 28: Hoare triple {3546#(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)); {3542#(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-08 11:02:08,593 INFO L290 TraceCheckUtils]: 27: Hoare triple {3546#(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); {3546#(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-08 11:02:08,596 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3491#(not (= |__VERIFIER_assert_#in~cond| 0))} {3553#(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)))} #60#return; {3546#(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-08 11:02:08,596 INFO L290 TraceCheckUtils]: 25: Hoare triple {3491#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3491#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:02:08,596 INFO L290 TraceCheckUtils]: 24: Hoare triple {3563#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3491#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:02:08,597 INFO L290 TraceCheckUtils]: 23: Hoare triple {3409#true} ~cond := #in~cond; {3563#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 11:02:08,597 INFO L272 TraceCheckUtils]: 22: Hoare triple {3553#(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)); {3409#true} is VALID [2022-04-08 11:02:08,597 INFO L290 TraceCheckUtils]: 21: Hoare triple {3553#(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; {3553#(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-08 11:02:08,680 INFO L290 TraceCheckUtils]: 20: Hoare triple {3573#(forall ((aux_div_v_main_~y~0_79_22 Int)) (or (and (or (< (+ (div main_~y~0 2) 1) (* aux_div_v_main_~y~0_79_22 2)) (not (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (<= 0 (+ (div main_~y~0 2) 1)) (<= (+ (* aux_div_v_main_~y~0_79_22 2) 1) (div main_~y~0 2)) (= (mod main_~y~0 2) 0) (<= (div (+ (- 1) (* (- 1) (div main_~y~0 2))) (- 2)) (+ (div (+ (- 1) (div main_~y~0 2)) 2) 1))) (or (<= (+ 2 (* aux_div_v_main_~y~0_79_22 2)) (div main_~y~0 2)) (not (= (+ 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)) (<= 0 (div main_~y~0 2)) (< (div main_~y~0 2) (* aux_div_v_main_~y~0_79_22 2)) (<= (div (- (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1)))) (= (* main_~b~0 main_~a~0) (+ (* 4 (* aux_div_v_main_~y~0_79_22 main_~x~0)) main_~z~0 (* main_~x~0 4)))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3553#(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-08 11:02:08,682 INFO L290 TraceCheckUtils]: 19: Hoare triple {3409#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; {3573#(forall ((aux_div_v_main_~y~0_79_22 Int)) (or (and (or (< (+ (div main_~y~0 2) 1) (* aux_div_v_main_~y~0_79_22 2)) (not (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (<= 0 (+ (div main_~y~0 2) 1)) (<= (+ (* aux_div_v_main_~y~0_79_22 2) 1) (div main_~y~0 2)) (= (mod main_~y~0 2) 0) (<= (div (+ (- 1) (* (- 1) (div main_~y~0 2))) (- 2)) (+ (div (+ (- 1) (div main_~y~0 2)) 2) 1))) (or (<= (+ 2 (* aux_div_v_main_~y~0_79_22 2)) (div main_~y~0 2)) (not (= (+ 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)) (<= 0 (div main_~y~0 2)) (< (div main_~y~0 2) (* aux_div_v_main_~y~0_79_22 2)) (<= (div (- (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1)))) (= (* main_~b~0 main_~a~0) (+ (* 4 (* aux_div_v_main_~y~0_79_22 main_~x~0)) main_~z~0 (* main_~x~0 4)))))} is VALID [2022-04-08 11:02:08,682 INFO L290 TraceCheckUtils]: 18: Hoare triple {3409#true} assume !!(0 != ~y~0); {3409#true} is VALID [2022-04-08 11:02:08,682 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3409#true} {3409#true} #60#return; {3409#true} is VALID [2022-04-08 11:02:08,682 INFO L290 TraceCheckUtils]: 16: Hoare triple {3409#true} assume true; {3409#true} is VALID [2022-04-08 11:02:08,683 INFO L290 TraceCheckUtils]: 15: Hoare triple {3409#true} assume !(0 == ~cond); {3409#true} is VALID [2022-04-08 11:02:08,683 INFO L290 TraceCheckUtils]: 14: Hoare triple {3409#true} ~cond := #in~cond; {3409#true} is VALID [2022-04-08 11:02:08,683 INFO L272 TraceCheckUtils]: 13: Hoare triple {3409#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3409#true} is VALID [2022-04-08 11:02:08,683 INFO L290 TraceCheckUtils]: 12: Hoare triple {3409#true} assume !false; {3409#true} is VALID [2022-04-08 11:02:08,683 INFO L290 TraceCheckUtils]: 11: Hoare triple {3409#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3409#true} is VALID [2022-04-08 11:02:08,683 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3409#true} {3409#true} #58#return; {3409#true} is VALID [2022-04-08 11:02:08,683 INFO L290 TraceCheckUtils]: 9: Hoare triple {3409#true} assume true; {3409#true} is VALID [2022-04-08 11:02:08,683 INFO L290 TraceCheckUtils]: 8: Hoare triple {3409#true} assume !(0 == ~cond); {3409#true} is VALID [2022-04-08 11:02:08,683 INFO L290 TraceCheckUtils]: 7: Hoare triple {3409#true} ~cond := #in~cond; {3409#true} is VALID [2022-04-08 11:02:08,683 INFO L272 TraceCheckUtils]: 6: Hoare triple {3409#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3409#true} is VALID [2022-04-08 11:02:08,683 INFO L290 TraceCheckUtils]: 5: Hoare triple {3409#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3409#true} is VALID [2022-04-08 11:02:08,683 INFO L272 TraceCheckUtils]: 4: Hoare triple {3409#true} call #t~ret6 := main(); {3409#true} is VALID [2022-04-08 11:02:08,683 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3409#true} {3409#true} #64#return; {3409#true} is VALID [2022-04-08 11:02:08,684 INFO L290 TraceCheckUtils]: 2: Hoare triple {3409#true} assume true; {3409#true} is VALID [2022-04-08 11:02:08,684 INFO L290 TraceCheckUtils]: 1: Hoare triple {3409#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); {3409#true} is VALID [2022-04-08 11:02:08,684 INFO L272 TraceCheckUtils]: 0: Hoare triple {3409#true} call ULTIMATE.init(); {3409#true} is VALID [2022-04-08 11:02:08,684 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 12 proven. 4 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 11:02:08,684 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 11:02:08,684 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1223932353] [2022-04-08 11:02:08,684 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 11:02:08,684 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [948311544] [2022-04-08 11:02:08,684 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [948311544] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 11:02:08,684 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 11:02:08,685 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11] total 18 [2022-04-08 11:02:08,685 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 11:02:08,685 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2101762160] [2022-04-08 11:02:08,685 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2101762160] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:02:08,685 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:02:08,685 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 11:02:08,685 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1861128848] [2022-04-08 11:02:08,685 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 11:02:08,685 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 35 [2022-04-08 11:02:08,686 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 11:02:08,686 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 11:02:10,717 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-08 11:02:10,718 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 11:02:10,718 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 11:02:10,718 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 11:02:10,718 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=244, Unknown=0, NotChecked=0, Total=306 [2022-04-08 11:02:10,719 INFO L87 Difference]: Start difference. First operand 56 states and 60 transitions. Second operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 11:02:13,232 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-08 11:02:15,236 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-08 11:02:18,521 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-08 11:02:20,062 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.32s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 11:02:31,127 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.26s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 11:02:38,977 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.06s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 11:02:40,979 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-08 11:02:41,154 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:02:41,155 INFO L93 Difference]: Finished difference Result 73 states and 80 transitions. [2022-04-08 11:02:41,155 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 11:02:41,155 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 35 [2022-04-08 11:02:41,155 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 11:02:41,155 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 11:02:41,156 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 51 transitions. [2022-04-08 11:02:41,156 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 11:02:41,157 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 51 transitions. [2022-04-08 11:02:41,157 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 51 transitions. [2022-04-08 11:02:43,212 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 50 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 11:02:43,213 INFO L225 Difference]: With dead ends: 73 [2022-04-08 11:02:43,213 INFO L226 Difference]: Without dead ends: 71 [2022-04-08 11:02:43,213 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 71 GetRequests, 52 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 55 ImplicationChecksByTransitivity, 4.4s TimeCoverageRelationStatistics Valid=75, Invalid=305, Unknown=0, NotChecked=0, Total=380 [2022-04-08 11:02:43,214 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 17 mSDsluCounter, 131 mSDsCounter, 0 mSdLazyCounter, 226 mSolverCounterSat, 3 mSolverCounterUnsat, 4 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 15.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 151 SdHoareTripleChecker+Invalid, 233 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 226 IncrementalHoareTripleChecker+Invalid, 4 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 15.9s IncrementalHoareTripleChecker+Time [2022-04-08 11:02:43,214 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 151 Invalid, 233 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 226 Invalid, 4 Unknown, 0 Unchecked, 15.9s Time] [2022-04-08 11:02:43,214 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-08 11:02:43,286 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 61. [2022-04-08 11:02:43,286 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 11:02:43,287 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 61 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 45 states have internal predecessors, (50), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 11:02:43,287 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 61 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 45 states have internal predecessors, (50), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 11:02:43,287 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 61 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 45 states have internal predecessors, (50), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 11:02:43,289 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:02:43,289 INFO L93 Difference]: Finished difference Result 71 states and 78 transitions. [2022-04-08 11:02:43,289 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 78 transitions. [2022-04-08 11:02:43,290 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:02:43,290 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:02:43,290 INFO L74 IsIncluded]: Start isIncluded. First operand has 61 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 45 states have internal predecessors, (50), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 71 states. [2022-04-08 11:02:43,290 INFO L87 Difference]: Start difference. First operand has 61 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 45 states have internal predecessors, (50), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 71 states. [2022-04-08 11:02:43,292 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:02:43,292 INFO L93 Difference]: Finished difference Result 71 states and 78 transitions. [2022-04-08 11:02:43,292 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 78 transitions. [2022-04-08 11:02:43,292 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:02:43,292 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:02:43,293 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 11:02:43,293 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 11:02:43,293 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 45 states have internal predecessors, (50), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 11:02:43,295 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 67 transitions. [2022-04-08 11:02:43,295 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 67 transitions. Word has length 35 [2022-04-08 11:02:43,295 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 11:02:43,295 INFO L478 AbstractCegarLoop]: Abstraction has 61 states and 67 transitions. [2022-04-08 11:02:43,295 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 11:02:43,295 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 61 states and 67 transitions. [2022-04-08 11:02:56,685 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 61 inductive. 0 not inductive. 6 times theorem prover too weak to decide inductivity. [2022-04-08 11:02:56,686 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 67 transitions. [2022-04-08 11:02:56,686 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-08 11:02:56,686 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 11:02:56,686 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 11:02:56,702 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-08 11:02:56,891 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-08 11:02:56,891 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 11:02:56,892 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 11:02:56,892 INFO L85 PathProgramCache]: Analyzing trace with hash 1326136358, now seen corresponding path program 5 times [2022-04-08 11:02:56,892 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 11:02:56,892 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2058801459] [2022-04-08 11:02:59,924 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 11:02:59,924 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 11:02:59,924 INFO L85 PathProgramCache]: Analyzing trace with hash 1326136358, now seen corresponding path program 6 times [2022-04-08 11:02:59,924 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 11:02:59,924 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1524332233] [2022-04-08 11:02:59,924 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 11:02:59,925 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 11:02:59,938 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 11:02:59,938 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [545145621] [2022-04-08 11:02:59,938 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 11:02:59,938 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:02:59,938 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 11:02:59,939 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-08 11:02:59,940 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-08 11:03:00,010 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 11:03:00,010 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 11:03:00,011 INFO L263 TraceCheckSpWp]: Trace formula consists of 120 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-08 11:03:00,047 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:03:00,048 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 11:03:24,617 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 11:03:30,394 INFO L272 TraceCheckUtils]: 0: Hoare triple {4050#true} call ULTIMATE.init(); {4050#true} is VALID [2022-04-08 11:03:30,394 INFO L290 TraceCheckUtils]: 1: Hoare triple {4050#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); {4050#true} is VALID [2022-04-08 11:03:30,394 INFO L290 TraceCheckUtils]: 2: Hoare triple {4050#true} assume true; {4050#true} is VALID [2022-04-08 11:03:30,394 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4050#true} {4050#true} #64#return; {4050#true} is VALID [2022-04-08 11:03:30,394 INFO L272 TraceCheckUtils]: 4: Hoare triple {4050#true} call #t~ret6 := main(); {4050#true} is VALID [2022-04-08 11:03:30,394 INFO L290 TraceCheckUtils]: 5: Hoare triple {4050#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4050#true} is VALID [2022-04-08 11:03:30,394 INFO L272 TraceCheckUtils]: 6: Hoare triple {4050#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4050#true} is VALID [2022-04-08 11:03:30,395 INFO L290 TraceCheckUtils]: 7: Hoare triple {4050#true} ~cond := #in~cond; {4076#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 11:03:30,395 INFO L290 TraceCheckUtils]: 8: Hoare triple {4076#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4080#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 11:03:30,395 INFO L290 TraceCheckUtils]: 9: Hoare triple {4080#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4080#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 11:03:30,396 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4080#(not (= |assume_abort_if_not_#in~cond| 0))} {4050#true} #58#return; {4087#(<= 1 main_~b~0)} is VALID [2022-04-08 11:03:30,396 INFO L290 TraceCheckUtils]: 11: Hoare triple {4087#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4091#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-08 11:03:30,397 INFO L290 TraceCheckUtils]: 12: Hoare triple {4091#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0))} assume !false; {4091#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-08 11:03:30,397 INFO L272 TraceCheckUtils]: 13: Hoare triple {4091#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4050#true} is VALID [2022-04-08 11:03:30,397 INFO L290 TraceCheckUtils]: 14: Hoare triple {4050#true} ~cond := #in~cond; {4050#true} is VALID [2022-04-08 11:03:30,397 INFO L290 TraceCheckUtils]: 15: Hoare triple {4050#true} assume !(0 == ~cond); {4050#true} is VALID [2022-04-08 11:03:30,397 INFO L290 TraceCheckUtils]: 16: Hoare triple {4050#true} assume true; {4050#true} is VALID [2022-04-08 11:03:30,397 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4050#true} {4091#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0))} #60#return; {4091#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-08 11:03:30,398 INFO L290 TraceCheckUtils]: 18: Hoare triple {4091#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {4091#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-08 11:03:30,399 INFO L290 TraceCheckUtils]: 19: Hoare triple {4091#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4116#(and (not (= (mod main_~y~0 2) 1)) (<= main_~b~0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-08 11:03:30,402 INFO L290 TraceCheckUtils]: 20: Hoare triple {4116#(and (not (= (mod main_~y~0 2) 1)) (<= main_~b~0 main_~y~0) (<= 1 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4120#(and (<= 1 main_~b~0) (exists ((aux_mod_v_main_~y~0_85_22 Int) (aux_div_v_main_~y~0_85_22 Int)) (and (< aux_mod_v_main_~y~0_85_22 2) (<= (div (+ (* aux_div_v_main_~y~0_85_22 2) aux_mod_v_main_~y~0_85_22) 2) main_~y~0) (not (= aux_mod_v_main_~y~0_85_22 1)) (<= 0 aux_mod_v_main_~y~0_85_22) (<= main_~b~0 (+ (* aux_div_v_main_~y~0_85_22 2) aux_mod_v_main_~y~0_85_22)))))} is VALID [2022-04-08 11:03:30,403 INFO L290 TraceCheckUtils]: 21: Hoare triple {4120#(and (<= 1 main_~b~0) (exists ((aux_mod_v_main_~y~0_85_22 Int) (aux_div_v_main_~y~0_85_22 Int)) (and (< aux_mod_v_main_~y~0_85_22 2) (<= (div (+ (* aux_div_v_main_~y~0_85_22 2) aux_mod_v_main_~y~0_85_22) 2) main_~y~0) (not (= aux_mod_v_main_~y~0_85_22 1)) (<= 0 aux_mod_v_main_~y~0_85_22) (<= main_~b~0 (+ (* aux_div_v_main_~y~0_85_22 2) aux_mod_v_main_~y~0_85_22)))))} assume !false; {4124#(and (< (div (* (- 1) main_~b~0) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} is VALID [2022-04-08 11:03:30,403 INFO L272 TraceCheckUtils]: 22: Hoare triple {4124#(and (< (div (* (- 1) main_~b~0) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4050#true} is VALID [2022-04-08 11:03:30,403 INFO L290 TraceCheckUtils]: 23: Hoare triple {4050#true} ~cond := #in~cond; {4050#true} is VALID [2022-04-08 11:03:30,404 INFO L290 TraceCheckUtils]: 24: Hoare triple {4050#true} assume !(0 == ~cond); {4050#true} is VALID [2022-04-08 11:03:30,404 INFO L290 TraceCheckUtils]: 25: Hoare triple {4050#true} assume true; {4050#true} is VALID [2022-04-08 11:03:30,405 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4050#true} {4124#(and (< (div (* (- 1) main_~b~0) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} #60#return; {4124#(and (< (div (* (- 1) main_~b~0) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} is VALID [2022-04-08 11:03:30,406 INFO L290 TraceCheckUtils]: 27: Hoare triple {4124#(and (< (div (* (- 1) main_~b~0) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {4124#(and (< (div (* (- 1) main_~b~0) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} is VALID [2022-04-08 11:03:30,406 INFO L290 TraceCheckUtils]: 28: Hoare triple {4124#(and (< (div (* (- 1) main_~b~0) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4146#(and (< (div (* (- 1) main_~b~0) (- 2)) (+ main_~y~0 1)) (not (= (mod main_~y~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-08 11:03:30,408 INFO L290 TraceCheckUtils]: 29: Hoare triple {4146#(and (< (div (* (- 1) main_~b~0) (- 2)) (+ main_~y~0 1)) (not (= (mod main_~y~0 2) 1)) (<= 1 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4150#(and (<= 1 main_~b~0) (exists ((aux_div_v_main_~y~0_86_22 Int) (aux_mod_v_main_~y~0_86_22 Int)) (and (<= (div (+ (* aux_div_v_main_~y~0_86_22 2) aux_mod_v_main_~y~0_86_22) 2) main_~y~0) (not (= aux_mod_v_main_~y~0_86_22 1)) (< (div (* (- 1) main_~b~0) (- 2)) (+ (* aux_div_v_main_~y~0_86_22 2) aux_mod_v_main_~y~0_86_22 1)) (<= 0 aux_mod_v_main_~y~0_86_22) (< aux_mod_v_main_~y~0_86_22 2))))} is VALID [2022-04-08 11:03:30,409 INFO L290 TraceCheckUtils]: 30: Hoare triple {4150#(and (<= 1 main_~b~0) (exists ((aux_div_v_main_~y~0_86_22 Int) (aux_mod_v_main_~y~0_86_22 Int)) (and (<= (div (+ (* aux_div_v_main_~y~0_86_22 2) aux_mod_v_main_~y~0_86_22) 2) main_~y~0) (not (= aux_mod_v_main_~y~0_86_22 1)) (< (div (* (- 1) main_~b~0) (- 2)) (+ (* aux_div_v_main_~y~0_86_22 2) aux_mod_v_main_~y~0_86_22 1)) (<= 0 aux_mod_v_main_~y~0_86_22) (< aux_mod_v_main_~y~0_86_22 2))))} assume !false; {4154#(and (< (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} is VALID [2022-04-08 11:03:30,409 INFO L272 TraceCheckUtils]: 31: Hoare triple {4154#(and (< (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4050#true} is VALID [2022-04-08 11:03:30,409 INFO L290 TraceCheckUtils]: 32: Hoare triple {4050#true} ~cond := #in~cond; {4161#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:03:30,409 INFO L290 TraceCheckUtils]: 33: Hoare triple {4161#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4165#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:03:30,409 INFO L290 TraceCheckUtils]: 34: Hoare triple {4165#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4165#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:03:30,410 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {4165#(not (= |__VERIFIER_assert_#in~cond| 0))} {4154#(and (< (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} #60#return; {4172#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} is VALID [2022-04-08 11:03:30,411 INFO L290 TraceCheckUtils]: 36: Hoare triple {4172#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {4172#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} is VALID [2022-04-08 11:03:30,411 INFO L290 TraceCheckUtils]: 37: Hoare triple {4172#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4179#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (< (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} is VALID [2022-04-08 11:03:30,543 INFO L290 TraceCheckUtils]: 38: Hoare triple {4179#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (< (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4183#(and (exists ((aux_div_v_main_~y~0_87_22 Int) (aux_mod_v_main_~y~0_87_22 Int)) (and (= (+ main_~z~0 (* (+ aux_mod_v_main_~y~0_87_22 (* aux_div_v_main_~y~0_87_22 2)) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2)) (+ aux_mod_v_main_~y~0_87_22 (* aux_div_v_main_~y~0_87_22 2) 1)) (<= 0 aux_mod_v_main_~y~0_87_22) (not (= aux_mod_v_main_~y~0_87_22 1)) (= (div (+ aux_mod_v_main_~y~0_87_22 (* aux_div_v_main_~y~0_87_22 2)) 2) main_~y~0) (< aux_mod_v_main_~y~0_87_22 2))) (<= 1 main_~b~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-08 11:03:30,965 INFO L290 TraceCheckUtils]: 39: Hoare triple {4183#(and (exists ((aux_div_v_main_~y~0_87_22 Int) (aux_mod_v_main_~y~0_87_22 Int)) (and (= (+ main_~z~0 (* (+ aux_mod_v_main_~y~0_87_22 (* aux_div_v_main_~y~0_87_22 2)) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2)) (+ aux_mod_v_main_~y~0_87_22 (* aux_div_v_main_~y~0_87_22 2) 1)) (<= 0 aux_mod_v_main_~y~0_87_22) (not (= aux_mod_v_main_~y~0_87_22 1)) (= (div (+ aux_mod_v_main_~y~0_87_22 (* aux_div_v_main_~y~0_87_22 2)) 2) main_~y~0) (< aux_mod_v_main_~y~0_87_22 2))) (<= 1 main_~b~0) (= (mod main_~x~0 2) 0))} assume !false; {4187#(and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-08 11:03:32,969 WARN L272 TraceCheckUtils]: 40: Hoare triple {4187#(and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4191#(<= 1 |__VERIFIER_assert_#in~cond|)} is UNKNOWN [2022-04-08 11:03:32,970 INFO L290 TraceCheckUtils]: 41: Hoare triple {4191#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4195#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:03:32,970 INFO L290 TraceCheckUtils]: 42: Hoare triple {4195#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4051#false} is VALID [2022-04-08 11:03:32,970 INFO L290 TraceCheckUtils]: 43: Hoare triple {4051#false} assume !false; {4051#false} is VALID [2022-04-08 11:03:32,970 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 11 proven. 22 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-08 11:03:32,971 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 11:04:05,357 INFO L290 TraceCheckUtils]: 43: Hoare triple {4051#false} assume !false; {4051#false} is VALID [2022-04-08 11:04:05,357 INFO L290 TraceCheckUtils]: 42: Hoare triple {4195#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4051#false} is VALID [2022-04-08 11:04:05,357 INFO L290 TraceCheckUtils]: 41: Hoare triple {4191#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4195#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:04:05,358 INFO L272 TraceCheckUtils]: 40: Hoare triple {4211#(= (+ 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)); {4191#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 11:04:05,358 INFO L290 TraceCheckUtils]: 39: Hoare triple {4211#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {4211#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-08 11:04:05,363 INFO L290 TraceCheckUtils]: 38: Hoare triple {4218#(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); {4211#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-08 11:04:05,364 INFO L290 TraceCheckUtils]: 37: Hoare triple {4222#(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)); {4218#(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-08 11:04:05,365 INFO L290 TraceCheckUtils]: 36: Hoare triple {4222#(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); {4222#(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-08 11:04:05,367 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {4165#(not (= |__VERIFIER_assert_#in~cond| 0))} {4229#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} #60#return; {4222#(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-08 11:04:05,368 INFO L290 TraceCheckUtils]: 34: Hoare triple {4165#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4165#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:04:05,368 INFO L290 TraceCheckUtils]: 33: Hoare triple {4239#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4165#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:04:05,368 INFO L290 TraceCheckUtils]: 32: Hoare triple {4050#true} ~cond := #in~cond; {4239#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 11:04:05,368 INFO L272 TraceCheckUtils]: 31: Hoare triple {4229#(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)); {4050#true} is VALID [2022-04-08 11:04:05,369 INFO L290 TraceCheckUtils]: 30: Hoare triple {4229#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} assume !false; {4229#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-08 11:04:05,370 INFO L290 TraceCheckUtils]: 29: Hoare triple {4249#(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); {4229#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-08 11:04:05,370 INFO L290 TraceCheckUtils]: 28: Hoare triple {4249#(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))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4249#(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-08 11:04:05,371 INFO L290 TraceCheckUtils]: 27: Hoare triple {4249#(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))))} assume !!(0 != ~y~0); {4249#(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-08 11:04:05,371 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4050#true} {4249#(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))))} #60#return; {4249#(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-08 11:04:05,371 INFO L290 TraceCheckUtils]: 25: Hoare triple {4050#true} assume true; {4050#true} is VALID [2022-04-08 11:04:05,372 INFO L290 TraceCheckUtils]: 24: Hoare triple {4050#true} assume !(0 == ~cond); {4050#true} is VALID [2022-04-08 11:04:05,372 INFO L290 TraceCheckUtils]: 23: Hoare triple {4050#true} ~cond := #in~cond; {4050#true} is VALID [2022-04-08 11:04:05,372 INFO L272 TraceCheckUtils]: 22: Hoare triple {4249#(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))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4050#true} is VALID [2022-04-08 11:04:05,372 INFO L290 TraceCheckUtils]: 21: Hoare triple {4249#(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))))} assume !false; {4249#(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-08 11:04:05,374 INFO L290 TraceCheckUtils]: 20: Hoare triple {4277#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 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); {4249#(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-08 11:04:05,375 INFO L290 TraceCheckUtils]: 19: Hoare triple {4277#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4277#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} is VALID [2022-04-08 11:04:05,375 INFO L290 TraceCheckUtils]: 18: Hoare triple {4277#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} assume !!(0 != ~y~0); {4277#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} is VALID [2022-04-08 11:04:05,376 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4050#true} {4277#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} #60#return; {4277#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} is VALID [2022-04-08 11:04:05,376 INFO L290 TraceCheckUtils]: 16: Hoare triple {4050#true} assume true; {4050#true} is VALID [2022-04-08 11:04:05,376 INFO L290 TraceCheckUtils]: 15: Hoare triple {4050#true} assume !(0 == ~cond); {4050#true} is VALID [2022-04-08 11:04:05,376 INFO L290 TraceCheckUtils]: 14: Hoare triple {4050#true} ~cond := #in~cond; {4050#true} is VALID [2022-04-08 11:04:05,376 INFO L272 TraceCheckUtils]: 13: Hoare triple {4277#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4050#true} is VALID [2022-04-08 11:04:05,377 INFO L290 TraceCheckUtils]: 12: Hoare triple {4277#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} assume !false; {4277#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} is VALID [2022-04-08 11:04:05,379 INFO L290 TraceCheckUtils]: 11: Hoare triple {4305#(<= 0 (+ 3 (div (+ (- 1) (div (+ (div (+ (- 11) main_~b~0) 2) (- 3)) 2)) 2)))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4277#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} is VALID [2022-04-08 11:04:05,380 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4080#(not (= |assume_abort_if_not_#in~cond| 0))} {4050#true} #58#return; {4305#(<= 0 (+ 3 (div (+ (- 1) (div (+ (div (+ (- 11) main_~b~0) 2) (- 3)) 2)) 2)))} is VALID [2022-04-08 11:04:05,380 INFO L290 TraceCheckUtils]: 9: Hoare triple {4080#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4080#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 11:04:05,380 INFO L290 TraceCheckUtils]: 8: Hoare triple {4318#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {4080#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 11:04:05,381 INFO L290 TraceCheckUtils]: 7: Hoare triple {4050#true} ~cond := #in~cond; {4318#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 11:04:05,381 INFO L272 TraceCheckUtils]: 6: Hoare triple {4050#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4050#true} is VALID [2022-04-08 11:04:05,381 INFO L290 TraceCheckUtils]: 5: Hoare triple {4050#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4050#true} is VALID [2022-04-08 11:04:05,381 INFO L272 TraceCheckUtils]: 4: Hoare triple {4050#true} call #t~ret6 := main(); {4050#true} is VALID [2022-04-08 11:04:05,381 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4050#true} {4050#true} #64#return; {4050#true} is VALID [2022-04-08 11:04:05,381 INFO L290 TraceCheckUtils]: 2: Hoare triple {4050#true} assume true; {4050#true} is VALID [2022-04-08 11:04:05,381 INFO L290 TraceCheckUtils]: 1: Hoare triple {4050#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); {4050#true} is VALID [2022-04-08 11:04:05,381 INFO L272 TraceCheckUtils]: 0: Hoare triple {4050#true} call ULTIMATE.init(); {4050#true} is VALID [2022-04-08 11:04:05,382 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 16 proven. 17 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-08 11:04:05,382 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 11:04:05,382 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1524332233] [2022-04-08 11:04:05,382 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 11:04:05,382 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [545145621] [2022-04-08 11:04:05,382 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [545145621] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 11:04:05,382 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 11:04:05,383 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 15] total 29 [2022-04-08 11:04:05,383 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 11:04:05,383 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2058801459] [2022-04-08 11:04:05,383 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2058801459] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:04:05,383 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:04:05,383 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [20] imperfect sequences [] total 20 [2022-04-08 11:04:05,383 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1969800275] [2022-04-08 11:04:05,383 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 11:04:05,384 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 18 states have (on average 1.6111111111111112) internal successors, (29), 18 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) Word has length 44 [2022-04-08 11:04:05,384 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 11:04:05,384 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 20 states, 18 states have (on average 1.6111111111111112) internal successors, (29), 18 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 11:04:08,589 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 40 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 11:04:08,589 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-08 11:04:08,589 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 11:04:08,590 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-08 11:04:08,590 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=155, Invalid=655, Unknown=2, NotChecked=0, Total=812 [2022-04-08 11:04:08,590 INFO L87 Difference]: Start difference. First operand 61 states and 67 transitions. Second operand has 20 states, 18 states have (on average 1.6111111111111112) internal successors, (29), 18 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 11:04:22,120 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.81s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 11:04:24,458 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.26s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 11:04:27,169 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-08 11:04:29,172 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-08 11:04:33,391 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-08 11:04:33,718 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:04:33,718 INFO L93 Difference]: Finished difference Result 79 states and 86 transitions. [2022-04-08 11:04:33,718 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-08 11:04:33,719 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 18 states have (on average 1.6111111111111112) internal successors, (29), 18 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) Word has length 44 [2022-04-08 11:04:33,719 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 11:04:33,719 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 18 states have (on average 1.6111111111111112) internal successors, (29), 18 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 11:04:33,720 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 53 transitions. [2022-04-08 11:04:33,720 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 18 states have (on average 1.6111111111111112) internal successors, (29), 18 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 11:04:33,721 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 53 transitions. [2022-04-08 11:04:33,721 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 53 transitions. [2022-04-08 11:04:43,085 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 49 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-08 11:04:43,092 INFO L225 Difference]: With dead ends: 79 [2022-04-08 11:04:43,092 INFO L226 Difference]: Without dead ends: 77 [2022-04-08 11:04:43,092 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 99 GetRequests, 59 SyntacticMatches, 4 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 3 DeprecatedPredicates, 446 ImplicationChecksByTransitivity, 9.9s TimeCoverageRelationStatistics Valid=275, Invalid=1129, Unknown=2, NotChecked=0, Total=1406 [2022-04-08 11:04:43,093 INFO L913 BasicCegarLoop]: 15 mSDtfsCounter, 41 mSDsluCounter, 96 mSDsCounter, 0 mSdLazyCounter, 145 mSolverCounterSat, 16 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 11.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 42 SdHoareTripleChecker+Valid, 111 SdHoareTripleChecker+Invalid, 189 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 145 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 25 IncrementalHoareTripleChecker+Unchecked, 11.4s IncrementalHoareTripleChecker+Time [2022-04-08 11:04:43,093 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [42 Valid, 111 Invalid, 189 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 145 Invalid, 3 Unknown, 25 Unchecked, 11.4s Time] [2022-04-08 11:04:43,094 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 77 states. [2022-04-08 11:04:43,166 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 77 to 70. [2022-04-08 11:04:43,166 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 11:04:43,167 INFO L82 GeneralOperation]: Start isEquivalent. First operand 77 states. Second operand has 70 states, 51 states have (on average 1.1372549019607843) internal successors, (58), 52 states have internal predecessors, (58), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 11:04:43,168 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand has 70 states, 51 states have (on average 1.1372549019607843) internal successors, (58), 52 states have internal predecessors, (58), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 11:04:43,168 INFO L87 Difference]: Start difference. First operand 77 states. Second operand has 70 states, 51 states have (on average 1.1372549019607843) internal successors, (58), 52 states have internal predecessors, (58), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 11:04:43,169 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:04:43,169 INFO L93 Difference]: Finished difference Result 77 states and 84 transitions. [2022-04-08 11:04:43,169 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 84 transitions. [2022-04-08 11:04:43,170 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:04:43,170 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:04:43,170 INFO L74 IsIncluded]: Start isIncluded. First operand has 70 states, 51 states have (on average 1.1372549019607843) internal successors, (58), 52 states have internal predecessors, (58), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 77 states. [2022-04-08 11:04:43,170 INFO L87 Difference]: Start difference. First operand has 70 states, 51 states have (on average 1.1372549019607843) internal successors, (58), 52 states have internal predecessors, (58), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 77 states. [2022-04-08 11:04:43,171 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:04:43,171 INFO L93 Difference]: Finished difference Result 77 states and 84 transitions. [2022-04-08 11:04:43,171 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 84 transitions. [2022-04-08 11:04:43,171 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:04:43,171 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:04:43,172 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 11:04:43,172 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 11:04:43,172 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 51 states have (on average 1.1372549019607843) internal successors, (58), 52 states have internal predecessors, (58), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 11:04:43,173 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 77 transitions. [2022-04-08 11:04:43,173 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 77 transitions. Word has length 44 [2022-04-08 11:04:43,173 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 11:04:43,173 INFO L478 AbstractCegarLoop]: Abstraction has 70 states and 77 transitions. [2022-04-08 11:04:43,173 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 18 states have (on average 1.6111111111111112) internal successors, (29), 18 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 11:04:43,173 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 77 transitions. [2022-04-08 11:05:03,000 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 69 inductive. 0 not inductive. 8 times theorem prover too weak to decide inductivity. [2022-04-08 11:05:03,001 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 77 transitions. [2022-04-08 11:05:03,001 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-08 11:05:03,001 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 11:05:03,001 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 11:05:03,017 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-08 11:05:03,201 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-08 11:05:03,202 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 11:05:03,202 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 11:05:03,202 INFO L85 PathProgramCache]: Analyzing trace with hash -448871004, now seen corresponding path program 5 times [2022-04-08 11:05:03,202 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 11:05:03,202 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [575892130] [2022-04-08 11:05:08,133 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 11:05:08,134 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 11:05:08,134 INFO L85 PathProgramCache]: Analyzing trace with hash -448871004, now seen corresponding path program 6 times [2022-04-08 11:05:08,134 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 11:05:08,134 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1925539103] [2022-04-08 11:05:08,134 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 11:05:08,134 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 11:05:08,144 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 11:05:08,145 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [757090975] [2022-04-08 11:05:08,145 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 11:05:08,145 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:05:08,145 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 11:05:08,146 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-08 11:05:08,146 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-08 11:05:08,184 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-08 11:05:08,184 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 11:05:08,185 INFO L263 TraceCheckSpWp]: Trace formula consists of 109 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-08 11:05:08,259 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:05:08,260 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 11:05:19,278 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 11:05:30,269 INFO L272 TraceCheckUtils]: 0: Hoare triple {4815#true} call ULTIMATE.init(); {4815#true} is VALID [2022-04-08 11:05:30,270 INFO L290 TraceCheckUtils]: 1: Hoare triple {4815#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); {4815#true} is VALID [2022-04-08 11:05:30,270 INFO L290 TraceCheckUtils]: 2: Hoare triple {4815#true} assume true; {4815#true} is VALID [2022-04-08 11:05:30,270 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4815#true} {4815#true} #64#return; {4815#true} is VALID [2022-04-08 11:05:30,270 INFO L272 TraceCheckUtils]: 4: Hoare triple {4815#true} call #t~ret6 := main(); {4815#true} is VALID [2022-04-08 11:05:30,270 INFO L290 TraceCheckUtils]: 5: Hoare triple {4815#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4815#true} is VALID [2022-04-08 11:05:30,270 INFO L272 TraceCheckUtils]: 6: Hoare triple {4815#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4815#true} is VALID [2022-04-08 11:05:30,270 INFO L290 TraceCheckUtils]: 7: Hoare triple {4815#true} ~cond := #in~cond; {4815#true} is VALID [2022-04-08 11:05:30,270 INFO L290 TraceCheckUtils]: 8: Hoare triple {4815#true} assume !(0 == ~cond); {4815#true} is VALID [2022-04-08 11:05:30,270 INFO L290 TraceCheckUtils]: 9: Hoare triple {4815#true} assume true; {4815#true} is VALID [2022-04-08 11:05:30,270 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4815#true} {4815#true} #58#return; {4815#true} is VALID [2022-04-08 11:05:30,271 INFO L290 TraceCheckUtils]: 11: Hoare triple {4815#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4853#(= main_~z~0 0)} is VALID [2022-04-08 11:05:30,271 INFO L290 TraceCheckUtils]: 12: Hoare triple {4853#(= main_~z~0 0)} assume !false; {4853#(= main_~z~0 0)} is VALID [2022-04-08 11:05:30,271 INFO L272 TraceCheckUtils]: 13: Hoare triple {4853#(= main_~z~0 0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4815#true} is VALID [2022-04-08 11:05:30,271 INFO L290 TraceCheckUtils]: 14: Hoare triple {4815#true} ~cond := #in~cond; {4815#true} is VALID [2022-04-08 11:05:30,271 INFO L290 TraceCheckUtils]: 15: Hoare triple {4815#true} assume !(0 == ~cond); {4815#true} is VALID [2022-04-08 11:05:30,271 INFO L290 TraceCheckUtils]: 16: Hoare triple {4815#true} assume true; {4815#true} is VALID [2022-04-08 11:05:30,272 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4815#true} {4853#(= main_~z~0 0)} #60#return; {4853#(= main_~z~0 0)} is VALID [2022-04-08 11:05:30,272 INFO L290 TraceCheckUtils]: 18: Hoare triple {4853#(= main_~z~0 0)} assume !!(0 != ~y~0); {4853#(= main_~z~0 0)} is VALID [2022-04-08 11:05:30,272 INFO L290 TraceCheckUtils]: 19: Hoare triple {4853#(= main_~z~0 0)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4853#(= main_~z~0 0)} is VALID [2022-04-08 11:05:30,272 INFO L290 TraceCheckUtils]: 20: Hoare triple {4853#(= main_~z~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); {4853#(= main_~z~0 0)} is VALID [2022-04-08 11:05:30,273 INFO L290 TraceCheckUtils]: 21: Hoare triple {4853#(= main_~z~0 0)} assume !false; {4853#(= main_~z~0 0)} is VALID [2022-04-08 11:05:30,273 INFO L272 TraceCheckUtils]: 22: Hoare triple {4853#(= main_~z~0 0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4815#true} is VALID [2022-04-08 11:05:30,273 INFO L290 TraceCheckUtils]: 23: Hoare triple {4815#true} ~cond := #in~cond; {4815#true} is VALID [2022-04-08 11:05:30,273 INFO L290 TraceCheckUtils]: 24: Hoare triple {4815#true} assume !(0 == ~cond); {4815#true} is VALID [2022-04-08 11:05:30,273 INFO L290 TraceCheckUtils]: 25: Hoare triple {4815#true} assume true; {4815#true} is VALID [2022-04-08 11:05:30,273 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4815#true} {4853#(= main_~z~0 0)} #60#return; {4853#(= main_~z~0 0)} is VALID [2022-04-08 11:05:30,274 INFO L290 TraceCheckUtils]: 27: Hoare triple {4853#(= main_~z~0 0)} assume !!(0 != ~y~0); {4853#(= main_~z~0 0)} is VALID [2022-04-08 11:05:30,274 INFO L290 TraceCheckUtils]: 28: Hoare triple {4853#(= main_~z~0 0)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4853#(= main_~z~0 0)} is VALID [2022-04-08 11:05:30,274 INFO L290 TraceCheckUtils]: 29: Hoare triple {4853#(= main_~z~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); {4853#(= main_~z~0 0)} is VALID [2022-04-08 11:05:30,275 INFO L290 TraceCheckUtils]: 30: Hoare triple {4853#(= main_~z~0 0)} assume !false; {4853#(= main_~z~0 0)} is VALID [2022-04-08 11:05:30,275 INFO L272 TraceCheckUtils]: 31: Hoare triple {4853#(= main_~z~0 0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4815#true} is VALID [2022-04-08 11:05:30,275 INFO L290 TraceCheckUtils]: 32: Hoare triple {4815#true} ~cond := #in~cond; {4917#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:05:30,275 INFO L290 TraceCheckUtils]: 33: Hoare triple {4917#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4921#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:05:30,275 INFO L290 TraceCheckUtils]: 34: Hoare triple {4921#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4921#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:05:30,276 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {4921#(not (= |__VERIFIER_assert_#in~cond| 0))} {4853#(= main_~z~0 0)} #60#return; {4928#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-08 11:05:30,276 INFO L290 TraceCheckUtils]: 36: Hoare triple {4928#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)))} assume !!(0 != ~y~0); {4932#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-08 11:05:30,299 INFO L290 TraceCheckUtils]: 37: Hoare triple {4932#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)))} 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; {4936#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~z~0 main_~x~0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-08 11:05:30,308 INFO L290 TraceCheckUtils]: 38: Hoare triple {4936#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~z~0 main_~x~0) (= (+ 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); {4940#(and (exists ((aux_mod_v_main_~y~0_104_29 Int) (aux_div_v_main_~y~0_104_29 Int)) (and (<= 0 (+ (* 2 aux_div_v_main_~y~0_104_29) aux_mod_v_main_~y~0_104_29)) (= (+ (* 2 (* main_~z~0 aux_div_v_main_~y~0_104_29)) (* main_~z~0 aux_mod_v_main_~y~0_104_29)) (* main_~b~0 main_~a~0)) (<= 1 aux_mod_v_main_~y~0_104_29) (= (div (+ (* 2 aux_div_v_main_~y~0_104_29) (- 1) aux_mod_v_main_~y~0_104_29) 2) main_~y~0) (< aux_mod_v_main_~y~0_104_29 2))) (= main_~x~0 (* main_~z~0 2)))} is VALID [2022-04-08 11:05:30,725 INFO L290 TraceCheckUtils]: 39: Hoare triple {4940#(and (exists ((aux_mod_v_main_~y~0_104_29 Int) (aux_div_v_main_~y~0_104_29 Int)) (and (<= 0 (+ (* 2 aux_div_v_main_~y~0_104_29) aux_mod_v_main_~y~0_104_29)) (= (+ (* 2 (* main_~z~0 aux_div_v_main_~y~0_104_29)) (* main_~z~0 aux_mod_v_main_~y~0_104_29)) (* main_~b~0 main_~a~0)) (<= 1 aux_mod_v_main_~y~0_104_29) (= (div (+ (* 2 aux_div_v_main_~y~0_104_29) (- 1) aux_mod_v_main_~y~0_104_29) 2) main_~y~0) (< aux_mod_v_main_~y~0_104_29 2))) (= main_~x~0 (* main_~z~0 2)))} assume !false; {4944#(and (= (+ main_~z~0 (* 2 (* main_~z~0 main_~y~0))) (* main_~b~0 main_~a~0)) (= main_~x~0 (* main_~z~0 2)) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-08 11:05:30,728 INFO L272 TraceCheckUtils]: 40: Hoare triple {4944#(and (= (+ main_~z~0 (* 2 (* main_~z~0 main_~y~0))) (* main_~b~0 main_~a~0)) (= main_~x~0 (* main_~z~0 2)) (< 0 (+ main_~y~0 1)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4948#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 11:05:30,728 INFO L290 TraceCheckUtils]: 41: Hoare triple {4948#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4952#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:05:30,728 INFO L290 TraceCheckUtils]: 42: Hoare triple {4952#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4816#false} is VALID [2022-04-08 11:05:30,728 INFO L290 TraceCheckUtils]: 43: Hoare triple {4816#false} assume !false; {4816#false} is VALID [2022-04-08 11:05:30,729 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 15 proven. 9 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-08 11:05:30,729 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 11:06:49,995 INFO L290 TraceCheckUtils]: 43: Hoare triple {4816#false} assume !false; {4816#false} is VALID [2022-04-08 11:06:49,995 INFO L290 TraceCheckUtils]: 42: Hoare triple {4952#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4816#false} is VALID [2022-04-08 11:06:49,995 INFO L290 TraceCheckUtils]: 41: Hoare triple {4948#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4952#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:06:49,996 INFO L272 TraceCheckUtils]: 40: Hoare triple {4968#(= (+ 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)); {4948#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 11:06:49,996 INFO L290 TraceCheckUtils]: 39: Hoare triple {4968#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {4968#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-08 11:06:50,002 INFO L290 TraceCheckUtils]: 38: Hoare triple {4975#(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); {4968#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-08 11:06:50,005 INFO L290 TraceCheckUtils]: 37: Hoare triple {4979#(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; {4975#(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-08 11:06:50,005 INFO L290 TraceCheckUtils]: 36: Hoare triple {4979#(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); {4979#(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-08 11:06:50,352 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {4921#(not (= |__VERIFIER_assert_#in~cond| 0))} {4815#true} #60#return; {4979#(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-08 11:06:50,353 INFO L290 TraceCheckUtils]: 34: Hoare triple {4921#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4921#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:06:50,353 INFO L290 TraceCheckUtils]: 33: Hoare triple {4995#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4921#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:06:50,353 INFO L290 TraceCheckUtils]: 32: Hoare triple {4815#true} ~cond := #in~cond; {4995#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 11:06:50,354 INFO L272 TraceCheckUtils]: 31: Hoare triple {4815#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4815#true} is VALID [2022-04-08 11:06:50,354 INFO L290 TraceCheckUtils]: 30: Hoare triple {4815#true} assume !false; {4815#true} is VALID [2022-04-08 11:06:50,354 INFO L290 TraceCheckUtils]: 29: Hoare triple {4815#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); {4815#true} is VALID [2022-04-08 11:06:50,354 INFO L290 TraceCheckUtils]: 28: Hoare triple {4815#true} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4815#true} is VALID [2022-04-08 11:06:50,354 INFO L290 TraceCheckUtils]: 27: Hoare triple {4815#true} assume !!(0 != ~y~0); {4815#true} is VALID [2022-04-08 11:06:50,354 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4815#true} {4815#true} #60#return; {4815#true} is VALID [2022-04-08 11:06:50,354 INFO L290 TraceCheckUtils]: 25: Hoare triple {4815#true} assume true; {4815#true} is VALID [2022-04-08 11:06:50,354 INFO L290 TraceCheckUtils]: 24: Hoare triple {4815#true} assume !(0 == ~cond); {4815#true} is VALID [2022-04-08 11:06:50,354 INFO L290 TraceCheckUtils]: 23: Hoare triple {4815#true} ~cond := #in~cond; {4815#true} is VALID [2022-04-08 11:06:50,354 INFO L272 TraceCheckUtils]: 22: Hoare triple {4815#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4815#true} is VALID [2022-04-08 11:06:50,354 INFO L290 TraceCheckUtils]: 21: Hoare triple {4815#true} assume !false; {4815#true} is VALID [2022-04-08 11:06:50,354 INFO L290 TraceCheckUtils]: 20: Hoare triple {4815#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); {4815#true} is VALID [2022-04-08 11:06:50,354 INFO L290 TraceCheckUtils]: 19: Hoare triple {4815#true} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4815#true} is VALID [2022-04-08 11:06:50,355 INFO L290 TraceCheckUtils]: 18: Hoare triple {4815#true} assume !!(0 != ~y~0); {4815#true} is VALID [2022-04-08 11:06:50,355 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4815#true} {4815#true} #60#return; {4815#true} is VALID [2022-04-08 11:06:50,355 INFO L290 TraceCheckUtils]: 16: Hoare triple {4815#true} assume true; {4815#true} is VALID [2022-04-08 11:06:50,355 INFO L290 TraceCheckUtils]: 15: Hoare triple {4815#true} assume !(0 == ~cond); {4815#true} is VALID [2022-04-08 11:06:50,355 INFO L290 TraceCheckUtils]: 14: Hoare triple {4815#true} ~cond := #in~cond; {4815#true} is VALID [2022-04-08 11:06:50,355 INFO L272 TraceCheckUtils]: 13: Hoare triple {4815#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4815#true} is VALID [2022-04-08 11:06:50,355 INFO L290 TraceCheckUtils]: 12: Hoare triple {4815#true} assume !false; {4815#true} is VALID [2022-04-08 11:06:50,355 INFO L290 TraceCheckUtils]: 11: Hoare triple {4815#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4815#true} is VALID [2022-04-08 11:06:50,355 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4815#true} {4815#true} #58#return; {4815#true} is VALID [2022-04-08 11:06:50,355 INFO L290 TraceCheckUtils]: 9: Hoare triple {4815#true} assume true; {4815#true} is VALID [2022-04-08 11:06:50,355 INFO L290 TraceCheckUtils]: 8: Hoare triple {4815#true} assume !(0 == ~cond); {4815#true} is VALID [2022-04-08 11:06:50,355 INFO L290 TraceCheckUtils]: 7: Hoare triple {4815#true} ~cond := #in~cond; {4815#true} is VALID [2022-04-08 11:06:50,355 INFO L272 TraceCheckUtils]: 6: Hoare triple {4815#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4815#true} is VALID [2022-04-08 11:06:50,355 INFO L290 TraceCheckUtils]: 5: Hoare triple {4815#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4815#true} is VALID [2022-04-08 11:06:50,356 INFO L272 TraceCheckUtils]: 4: Hoare triple {4815#true} call #t~ret6 := main(); {4815#true} is VALID [2022-04-08 11:06:50,356 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4815#true} {4815#true} #64#return; {4815#true} is VALID [2022-04-08 11:06:50,356 INFO L290 TraceCheckUtils]: 2: Hoare triple {4815#true} assume true; {4815#true} is VALID [2022-04-08 11:06:50,356 INFO L290 TraceCheckUtils]: 1: Hoare triple {4815#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); {4815#true} is VALID [2022-04-08 11:06:50,356 INFO L272 TraceCheckUtils]: 0: Hoare triple {4815#true} call ULTIMATE.init(); {4815#true} is VALID [2022-04-08 11:06:50,356 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 23 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-08 11:06:50,356 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 11:06:50,356 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1925539103] [2022-04-08 11:06:50,356 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 11:06:50,356 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [757090975] [2022-04-08 11:06:50,356 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [757090975] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 11:06:50,357 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 11:06:50,357 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 16 [2022-04-08 11:06:50,357 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 11:06:50,357 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [575892130] [2022-04-08 11:06:50,357 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [575892130] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:06:50,357 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:06:50,357 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 11:06:50,357 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1198284091] [2022-04-08 11:06:50,357 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 11:06:50,358 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 44 [2022-04-08 11:06:50,358 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 11:06:50,358 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 11:06:51,519 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:06:51,520 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 11:06:51,520 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 11:06:51,520 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 11:06:51,520 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=190, Unknown=1, NotChecked=0, Total=240 [2022-04-08 11:06:51,520 INFO L87 Difference]: Start difference. First operand 70 states and 77 transitions. Second operand has 12 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 11:06:52,176 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:06:52,176 INFO L93 Difference]: Finished difference Result 98 states and 107 transitions. [2022-04-08 11:06:52,176 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 11:06:52,176 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 44 [2022-04-08 11:06:52,176 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 11:06:52,176 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 11:06:52,177 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 43 transitions. [2022-04-08 11:06:52,177 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 11:06:52,178 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 43 transitions. [2022-04-08 11:06:52,178 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 43 transitions. [2022-04-08 11:06:52,208 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-08 11:06:52,210 INFO L225 Difference]: With dead ends: 98 [2022-04-08 11:06:52,210 INFO L226 Difference]: Without dead ends: 96 [2022-04-08 11:06:52,210 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 71 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 55 ImplicationChecksByTransitivity, 8.2s TimeCoverageRelationStatistics Valid=62, Invalid=243, Unknown=1, NotChecked=0, Total=306 [2022-04-08 11:06:52,210 INFO L913 BasicCegarLoop]: 18 mSDtfsCounter, 17 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 81 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 106 SdHoareTripleChecker+Invalid, 102 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 81 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 16 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 11:06:52,211 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 106 Invalid, 102 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 81 Invalid, 0 Unknown, 16 Unchecked, 0.2s Time] [2022-04-08 11:06:52,211 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2022-04-08 11:06:52,316 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 89. [2022-04-08 11:06:52,316 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 11:06:52,316 INFO L82 GeneralOperation]: Start isEquivalent. First operand 96 states. Second operand has 89 states, 65 states have (on average 1.123076923076923) internal successors, (73), 68 states have internal predecessors, (73), 13 states have call successors, (13), 11 states have call predecessors, (13), 10 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 11:06:52,316 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand has 89 states, 65 states have (on average 1.123076923076923) internal successors, (73), 68 states have internal predecessors, (73), 13 states have call successors, (13), 11 states have call predecessors, (13), 10 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 11:06:52,317 INFO L87 Difference]: Start difference. First operand 96 states. Second operand has 89 states, 65 states have (on average 1.123076923076923) internal successors, (73), 68 states have internal predecessors, (73), 13 states have call successors, (13), 11 states have call predecessors, (13), 10 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 11:06:52,318 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:06:52,318 INFO L93 Difference]: Finished difference Result 96 states and 105 transitions. [2022-04-08 11:06:52,318 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 105 transitions. [2022-04-08 11:06:52,318 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:06:52,318 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:06:52,319 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 65 states have (on average 1.123076923076923) internal successors, (73), 68 states have internal predecessors, (73), 13 states have call successors, (13), 11 states have call predecessors, (13), 10 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) Second operand 96 states. [2022-04-08 11:06:52,319 INFO L87 Difference]: Start difference. First operand has 89 states, 65 states have (on average 1.123076923076923) internal successors, (73), 68 states have internal predecessors, (73), 13 states have call successors, (13), 11 states have call predecessors, (13), 10 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) Second operand 96 states. [2022-04-08 11:06:52,320 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:06:52,320 INFO L93 Difference]: Finished difference Result 96 states and 105 transitions. [2022-04-08 11:06:52,320 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 105 transitions. [2022-04-08 11:06:52,320 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:06:52,320 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:06:52,321 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 11:06:52,321 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 11:06:52,321 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 65 states have (on average 1.123076923076923) internal successors, (73), 68 states have internal predecessors, (73), 13 states have call successors, (13), 11 states have call predecessors, (13), 10 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 11:06:52,322 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 98 transitions. [2022-04-08 11:06:52,322 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 98 transitions. Word has length 44 [2022-04-08 11:06:52,322 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 11:06:52,322 INFO L478 AbstractCegarLoop]: Abstraction has 89 states and 98 transitions. [2022-04-08 11:06:52,322 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 11:06:52,323 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 89 states and 98 transitions. [2022-04-08 11:07:18,529 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 88 inductive. 0 not inductive. 10 times theorem prover too weak to decide inductivity. [2022-04-08 11:07:18,529 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 98 transitions. [2022-04-08 11:07:18,529 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-08 11:07:18,529 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 11:07:18,529 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 11:07:18,545 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-08 11:07:18,743 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-08 11:07:18,743 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 11:07:18,744 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 11:07:18,744 INFO L85 PathProgramCache]: Analyzing trace with hash -1947762584, now seen corresponding path program 7 times [2022-04-08 11:07:18,744 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 11:07:18,744 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [737630253] [2022-04-08 11:07:26,823 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 11:07:26,823 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 11:07:26,823 INFO L85 PathProgramCache]: Analyzing trace with hash -1947762584, now seen corresponding path program 8 times [2022-04-08 11:07:26,823 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 11:07:26,823 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [187303614] [2022-04-08 11:07:26,823 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 11:07:26,823 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 11:07:26,844 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 11:07:26,845 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [947599275] [2022-04-08 11:07:26,845 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 11:07:26,845 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:07:26,845 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 11:07:26,851 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-08 11:07:26,852 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-08 11:07:26,898 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 11:07:26,898 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 11:07:26,899 INFO L263 TraceCheckSpWp]: Trace formula consists of 125 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-08 11:07:26,918 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:07:26,919 INFO L286 TraceCheckSpWp]: Computing forward predicates...