/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 15:37:26,152 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 15:37:26,153 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 15:37:26,188 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 15:37:26,188 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 15:37:26,190 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 15:37:26,192 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 15:37:26,194 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 15:37:26,195 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 15:37:26,199 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 15:37:26,200 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 15:37:26,201 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 15:37:26,201 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 15:37:26,203 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 15:37:26,203 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 15:37:26,206 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 15:37:26,207 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 15:37:26,207 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 15:37:26,208 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 15:37:26,209 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 15:37:26,209 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 15:37:26,210 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 15:37:26,211 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 15:37:26,211 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 15:37:26,212 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 15:37:26,220 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 15:37:26,220 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 15:37:26,220 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 15:37:26,220 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 15:37:26,221 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 15:37:26,221 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 15:37:26,221 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 15:37:26,222 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 15:37:26,222 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 15:37:26,222 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 15:37:26,223 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 15:37:26,223 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 15:37:26,223 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 15:37:26,223 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 15:37:26,224 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 15:37:26,224 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 15:37:26,227 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 15:37:26,228 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-15 15:37:26,234 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 15:37:26,234 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 15:37:26,235 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 15:37:26,235 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 15:37:26,235 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 15:37:26,235 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 15:37:26,236 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 15:37:26,236 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 15:37:26,236 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 15:37:26,236 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 15:37:26,236 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 15:37:26,236 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 15:37:26,236 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 15:37:26,237 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 15:37:26,237 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 15:37:26,237 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 15:37:26,237 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 15:37:26,237 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 15:37:26,237 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 15:37:26,237 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 15:37:26,237 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 15:37:26,237 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-15 15:37:26,237 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-15 15:37:26,418 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 15:37:26,440 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 15:37:26,442 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 15:37:26,443 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 15:37:26,447 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 15:37:26,448 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound2.c [2022-04-15 15:37:26,487 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/20892b4eb/b9ad9e6d0da04dc2a8326391b4a70ce8/FLAGc839fc9c1 [2022-04-15 15:37:26,863 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 15:37:26,863 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound2.c [2022-04-15 15:37:26,868 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/20892b4eb/b9ad9e6d0da04dc2a8326391b4a70ce8/FLAGc839fc9c1 [2022-04-15 15:37:26,881 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/20892b4eb/b9ad9e6d0da04dc2a8326391b4a70ce8 [2022-04-15 15:37:26,883 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 15:37:26,884 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 15:37:26,885 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 15:37:26,885 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 15:37:26,887 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 15:37:26,888 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 03:37:26" (1/1) ... [2022-04-15 15:37:26,889 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2dbba02e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:37:26, skipping insertion in model container [2022-04-15 15:37:26,889 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 03:37:26" (1/1) ... [2022-04-15 15:37:26,893 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 15:37:26,902 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 15:37:27,026 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound2.c[538,551] [2022-04-15 15:37:27,051 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 15:37:27,062 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 15:37:27,071 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound2.c[538,551] [2022-04-15 15:37:27,089 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 15:37:27,099 INFO L208 MainTranslator]: Completed translation [2022-04-15 15:37:27,099 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:37:27 WrapperNode [2022-04-15 15:37:27,099 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 15:37:27,100 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 15:37:27,100 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 15:37:27,100 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 15:37:27,107 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:37:27" (1/1) ... [2022-04-15 15:37:27,108 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:37:27" (1/1) ... [2022-04-15 15:37:27,112 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:37:27" (1/1) ... [2022-04-15 15:37:27,112 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:37:27" (1/1) ... [2022-04-15 15:37:27,123 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:37:27" (1/1) ... [2022-04-15 15:37:27,128 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:37:27" (1/1) ... [2022-04-15 15:37:27,134 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:37:27" (1/1) ... [2022-04-15 15:37:27,137 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 15:37:27,138 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 15:37:27,138 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 15:37:27,138 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 15:37:27,139 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:37:27" (1/1) ... [2022-04-15 15:37:27,143 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 15:37:27,150 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:37:27,185 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-15 15:37:27,228 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-15 15:37:27,250 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 15:37:27,250 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 15:37:27,250 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 15:37:27,250 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 15:37:27,251 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 15:37:27,251 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 15:37:27,251 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 15:37:27,251 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 15:37:27,251 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 15:37:27,251 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 15:37:27,251 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-15 15:37:27,251 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 15:37:27,251 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 15:37:27,251 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 15:37:27,251 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 15:37:27,252 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 15:37:27,252 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 15:37:27,252 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 15:37:27,252 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 15:37:27,252 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 15:37:27,298 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 15:37:27,299 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 15:37:27,415 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 15:37:27,419 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 15:37:27,419 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-15 15:37:27,421 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 03:37:27 BoogieIcfgContainer [2022-04-15 15:37:27,421 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 15:37:27,422 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 15:37:27,422 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 15:37:27,439 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 15:37:27,439 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 03:37:26" (1/3) ... [2022-04-15 15:37:27,440 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@43788c1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 03:37:27, skipping insertion in model container [2022-04-15 15:37:27,440 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:37:27" (2/3) ... [2022-04-15 15:37:27,440 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@43788c1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 03:37:27, skipping insertion in model container [2022-04-15 15:37:27,440 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 03:37:27" (3/3) ... [2022-04-15 15:37:27,441 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll_valuebound2.c [2022-04-15 15:37:27,444 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 15:37:27,444 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 15:37:27,482 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 15:37:27,488 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-15 15:37:27,488 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 15:37:27,502 INFO L276 IsEmpty]: Start isEmpty. Operand has 38 states, 20 states have (on average 1.5) internal successors, (30), 21 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-15 15:37:27,509 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 15:37:27,509 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:37:27,510 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:37:27,510 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:37:27,517 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:37:27,517 INFO L85 PathProgramCache]: Analyzing trace with hash -1784424332, now seen corresponding path program 1 times [2022-04-15 15:37:27,523 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:27,523 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1777540217] [2022-04-15 15:37:27,531 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:37:27,531 INFO L85 PathProgramCache]: Analyzing trace with hash -1784424332, now seen corresponding path program 2 times [2022-04-15 15:37:27,533 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:37:27,533 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1024403853] [2022-04-15 15:37:27,533 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:37:27,534 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:37:27,622 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:27,688 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 15:37:27,692 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:27,705 INFO L290 TraceCheckUtils]: 0: Hoare triple {58#(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(10, 2);call #Ultimate.allocInit(12, 3); {41#true} is VALID [2022-04-15 15:37:27,706 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-15 15:37:27,706 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-15 15:37:27,706 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 15:37:27,711 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:27,715 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 15:37:27,716 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 15:37:27,716 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 15:37:27,716 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-15 15:37:27,718 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 15:37:27,721 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:27,727 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 15:37:27,728 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 15:37:27,728 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 15:37:27,728 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-15 15:37:27,728 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 15:37:27,729 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:27,733 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 15:37:27,733 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 15:37:27,733 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 15:37:27,733 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-15 15:37:27,734 INFO L272 TraceCheckUtils]: 0: Hoare triple {41#true} call ULTIMATE.init(); {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 15:37:27,734 INFO L290 TraceCheckUtils]: 1: Hoare triple {58#(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(10, 2);call #Ultimate.allocInit(12, 3); {41#true} is VALID [2022-04-15 15:37:27,735 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-15 15:37:27,735 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-15 15:37:27,735 INFO L272 TraceCheckUtils]: 4: Hoare triple {41#true} call #t~ret6 := main(); {41#true} is VALID [2022-04-15 15:37:27,735 INFO L290 TraceCheckUtils]: 5: Hoare triple {41#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {41#true} is VALID [2022-04-15 15:37:27,735 INFO L272 TraceCheckUtils]: 6: Hoare triple {41#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {41#true} is VALID [2022-04-15 15:37:27,735 INFO L290 TraceCheckUtils]: 7: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 15:37:27,736 INFO L290 TraceCheckUtils]: 8: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 15:37:27,736 INFO L290 TraceCheckUtils]: 9: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 15:37:27,736 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-15 15:37:27,736 INFO L290 TraceCheckUtils]: 11: Hoare triple {42#false} ~B~0 := #t~nondet5;havoc #t~nondet5; {42#false} is VALID [2022-04-15 15:37:27,736 INFO L272 TraceCheckUtils]: 12: Hoare triple {42#false} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {41#true} is VALID [2022-04-15 15:37:27,737 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 15:37:27,737 INFO L290 TraceCheckUtils]: 14: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 15:37:27,737 INFO L290 TraceCheckUtils]: 15: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 15:37:27,737 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-15 15:37:27,737 INFO L272 TraceCheckUtils]: 17: Hoare triple {42#false} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {41#true} is VALID [2022-04-15 15:37:27,738 INFO L290 TraceCheckUtils]: 18: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 15:37:27,738 INFO L290 TraceCheckUtils]: 19: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 15:37:27,738 INFO L290 TraceCheckUtils]: 20: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 15:37:27,738 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-15 15:37:27,739 INFO L290 TraceCheckUtils]: 22: Hoare triple {42#false} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {42#false} is VALID [2022-04-15 15:37:27,739 INFO L290 TraceCheckUtils]: 23: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-15 15:37:27,739 INFO L272 TraceCheckUtils]: 24: Hoare triple {42#false} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {42#false} is VALID [2022-04-15 15:37:27,739 INFO L290 TraceCheckUtils]: 25: Hoare triple {42#false} ~cond := #in~cond; {42#false} is VALID [2022-04-15 15:37:27,739 INFO L290 TraceCheckUtils]: 26: Hoare triple {42#false} assume 0 == ~cond; {42#false} is VALID [2022-04-15 15:37:27,740 INFO L290 TraceCheckUtils]: 27: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-15 15:37:27,740 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 15:37:27,740 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:37:27,740 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1024403853] [2022-04-15 15:37:27,741 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1024403853] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:37:27,741 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:37:27,741 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 15:37:27,743 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:37:27,743 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1777540217] [2022-04-15 15:37:27,743 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1777540217] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:37:27,743 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:37:27,743 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 15:37:27,743 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [454823085] [2022-04-15 15:37:27,744 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:37:27,747 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-15 15:37:27,748 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:37:27,750 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 15:37:27,781 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:27,781 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 15:37:27,782 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:27,798 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 15:37:27,799 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 15:37:27,801 INFO L87 Difference]: Start difference. First operand has 38 states, 20 states have (on average 1.5) internal successors, (30), 21 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 15:37:27,994 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:27,994 INFO L93 Difference]: Finished difference Result 69 states and 110 transitions. [2022-04-15 15:37:27,994 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 15:37:27,994 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-15 15:37:27,994 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:37:27,995 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 15:37:28,004 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-15 15:37:28,004 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 15:37:28,011 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-15 15:37:28,011 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 110 transitions. [2022-04-15 15:37:28,141 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:28,150 INFO L225 Difference]: With dead ends: 69 [2022-04-15 15:37:28,150 INFO L226 Difference]: Without dead ends: 33 [2022-04-15 15:37:28,153 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 15:37:28,157 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 21 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 12 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 41 SdHoareTripleChecker+Invalid, 23 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 12 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 15:37:28,157 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [31 Valid, 41 Invalid, 23 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 12 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 15:37:28,168 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-04-15 15:37:28,178 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 33. [2022-04-15 15:37:28,179 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:37:28,179 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:37:28,180 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:37:28,180 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:37:28,184 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:28,184 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-15 15:37:28,184 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-15 15:37:28,185 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:28,185 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:28,185 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 33 states. [2022-04-15 15:37:28,185 INFO L87 Difference]: Start difference. First operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 33 states. [2022-04-15 15:37:28,188 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:28,188 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-15 15:37:28,189 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-15 15:37:28,189 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:28,189 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:28,189 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:37:28,189 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:37:28,190 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:37:28,192 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 43 transitions. [2022-04-15 15:37:28,193 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 43 transitions. Word has length 28 [2022-04-15 15:37:28,193 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:37:28,193 INFO L478 AbstractCegarLoop]: Abstraction has 33 states and 43 transitions. [2022-04-15 15:37:28,194 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 15:37:28,194 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 43 transitions. [2022-04-15 15:37:28,233 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-15 15:37:28,234 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-15 15:37:28,234 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 15:37:28,234 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:37:28,235 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:37:28,235 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 15:37:28,235 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:37:28,235 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:37:28,236 INFO L85 PathProgramCache]: Analyzing trace with hash 1361835634, now seen corresponding path program 1 times [2022-04-15 15:37:28,236 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:28,236 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [474611141] [2022-04-15 15:37:28,236 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:37:28,236 INFO L85 PathProgramCache]: Analyzing trace with hash 1361835634, now seen corresponding path program 2 times [2022-04-15 15:37:28,237 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:37:28,237 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [841776932] [2022-04-15 15:37:28,237 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:37:28,237 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:37:28,255 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:28,317 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 15:37:28,322 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:28,331 INFO L290 TraceCheckUtils]: 0: Hoare triple {351#(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(10, 2);call #Ultimate.allocInit(12, 3); {331#true} is VALID [2022-04-15 15:37:28,331 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 15:37:28,332 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {331#true} {331#true} #101#return; {331#true} is VALID [2022-04-15 15:37:28,332 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 15:37:28,335 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:28,344 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 15:37:28,345 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 15:37:28,348 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 15:37:28,348 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #81#return; {331#true} is VALID [2022-04-15 15:37:28,349 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 15:37:28,350 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:28,355 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 15:37:28,355 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 15:37:28,355 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 15:37:28,356 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #83#return; {331#true} is VALID [2022-04-15 15:37:28,357 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 15:37:28,358 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:28,362 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 15:37:28,362 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 15:37:28,363 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 15:37:28,363 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #85#return; {331#true} is VALID [2022-04-15 15:37:28,363 INFO L272 TraceCheckUtils]: 0: Hoare triple {331#true} call ULTIMATE.init(); {351#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 15:37:28,364 INFO L290 TraceCheckUtils]: 1: Hoare triple {351#(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(10, 2);call #Ultimate.allocInit(12, 3); {331#true} is VALID [2022-04-15 15:37:28,364 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 15:37:28,364 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #101#return; {331#true} is VALID [2022-04-15 15:37:28,364 INFO L272 TraceCheckUtils]: 4: Hoare triple {331#true} call #t~ret6 := main(); {331#true} is VALID [2022-04-15 15:37:28,364 INFO L290 TraceCheckUtils]: 5: Hoare triple {331#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {331#true} is VALID [2022-04-15 15:37:28,364 INFO L272 TraceCheckUtils]: 6: Hoare triple {331#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {331#true} is VALID [2022-04-15 15:37:28,364 INFO L290 TraceCheckUtils]: 7: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 15:37:28,365 INFO L290 TraceCheckUtils]: 8: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 15:37:28,365 INFO L290 TraceCheckUtils]: 9: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 15:37:28,365 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {331#true} {331#true} #81#return; {331#true} is VALID [2022-04-15 15:37:28,365 INFO L290 TraceCheckUtils]: 11: Hoare triple {331#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {331#true} is VALID [2022-04-15 15:37:28,365 INFO L272 TraceCheckUtils]: 12: Hoare triple {331#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {331#true} is VALID [2022-04-15 15:37:28,365 INFO L290 TraceCheckUtils]: 13: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 15:37:28,366 INFO L290 TraceCheckUtils]: 14: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 15:37:28,366 INFO L290 TraceCheckUtils]: 15: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 15:37:28,366 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {331#true} {331#true} #83#return; {331#true} is VALID [2022-04-15 15:37:28,366 INFO L272 TraceCheckUtils]: 17: Hoare triple {331#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {331#true} is VALID [2022-04-15 15:37:28,366 INFO L290 TraceCheckUtils]: 18: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 15:37:28,366 INFO L290 TraceCheckUtils]: 19: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 15:37:28,366 INFO L290 TraceCheckUtils]: 20: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 15:37:28,367 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {331#true} {331#true} #85#return; {331#true} is VALID [2022-04-15 15:37:28,368 INFO L290 TraceCheckUtils]: 22: Hoare triple {331#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {348#(= main_~q~0 0)} is VALID [2022-04-15 15:37:28,369 INFO L290 TraceCheckUtils]: 23: Hoare triple {348#(= main_~q~0 0)} assume !false; {348#(= main_~q~0 0)} is VALID [2022-04-15 15:37:28,370 INFO L272 TraceCheckUtils]: 24: Hoare triple {348#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {349#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:37:28,370 INFO L290 TraceCheckUtils]: 25: Hoare triple {349#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {350#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:37:28,371 INFO L290 TraceCheckUtils]: 26: Hoare triple {350#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {332#false} is VALID [2022-04-15 15:37:28,371 INFO L290 TraceCheckUtils]: 27: Hoare triple {332#false} assume !false; {332#false} is VALID [2022-04-15 15:37:28,371 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 15:37:28,371 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:37:28,372 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [841776932] [2022-04-15 15:37:28,372 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [841776932] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:37:28,372 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:37:28,372 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 15:37:28,372 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:37:28,372 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [474611141] [2022-04-15 15:37:28,372 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [474611141] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:37:28,373 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:37:28,373 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 15:37:28,373 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [98481941] [2022-04-15 15:37:28,373 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:37:28,374 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-15 15:37:28,374 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:37:28,374 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 15:37:28,393 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:28,393 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 15:37:28,393 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:28,394 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 15:37:28,394 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-15 15:37:28,394 INFO L87 Difference]: Start difference. First operand 33 states and 43 transitions. Second operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 15:37:28,756 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:28,756 INFO L93 Difference]: Finished difference Result 46 states and 60 transitions. [2022-04-15 15:37:28,756 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-15 15:37:28,756 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-15 15:37:28,757 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:37:28,757 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 15:37:28,759 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-15 15:37:28,759 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 15:37:28,761 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-15 15:37:28,761 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-15 15:37:28,812 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:28,814 INFO L225 Difference]: With dead ends: 46 [2022-04-15 15:37:28,814 INFO L226 Difference]: Without dead ends: 44 [2022-04-15 15:37:28,814 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-15 15:37:28,815 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 38 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 126 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 48 SdHoareTripleChecker+Invalid, 155 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 126 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 15:37:28,815 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [44 Valid, 48 Invalid, 155 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 126 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 15:37:28,816 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-15 15:37:28,821 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-04-15 15:37:28,821 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:37:28,822 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:37:28,822 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:37:28,822 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:37:28,825 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:28,825 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-15 15:37:28,825 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-15 15:37:28,825 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:28,825 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:28,826 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 44 states. [2022-04-15 15:37:28,826 INFO L87 Difference]: Start difference. First operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 44 states. [2022-04-15 15:37:28,828 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:28,828 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-15 15:37:28,828 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-15 15:37:28,829 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:28,829 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:28,829 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:37:28,829 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:37:28,830 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:37:28,831 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 46 transitions. [2022-04-15 15:37:28,831 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 46 transitions. Word has length 28 [2022-04-15 15:37:28,831 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:37:28,831 INFO L478 AbstractCegarLoop]: Abstraction has 37 states and 46 transitions. [2022-04-15 15:37:28,832 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 15:37:28,832 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 46 transitions. [2022-04-15 15:37:28,870 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:28,870 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 46 transitions. [2022-04-15 15:37:28,870 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-15 15:37:28,871 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:37:28,871 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:37:28,871 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-15 15:37:28,871 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:37:28,871 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:37:28,871 INFO L85 PathProgramCache]: Analyzing trace with hash 1382067636, now seen corresponding path program 1 times [2022-04-15 15:37:28,871 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:28,872 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2002476316] [2022-04-15 15:37:28,872 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:37:28,872 INFO L85 PathProgramCache]: Analyzing trace with hash 1382067636, now seen corresponding path program 2 times [2022-04-15 15:37:28,872 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:37:28,872 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1349959583] [2022-04-15 15:37:28,872 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:37:28,872 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:37:28,883 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:28,920 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 15:37:28,922 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:28,925 INFO L290 TraceCheckUtils]: 0: Hoare triple {640#(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(10, 2);call #Ultimate.allocInit(12, 3); {616#true} is VALID [2022-04-15 15:37:28,925 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:37:28,925 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {616#true} {616#true} #101#return; {616#true} is VALID [2022-04-15 15:37:28,925 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 15:37:28,926 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:28,929 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 15:37:28,929 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 15:37:28,929 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:37:28,929 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #81#return; {616#true} is VALID [2022-04-15 15:37:28,929 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 15:37:28,930 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:28,932 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 15:37:28,933 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 15:37:28,933 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:37:28,933 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #83#return; {616#true} is VALID [2022-04-15 15:37:28,933 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 15:37:28,934 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:28,948 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 15:37:28,949 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 15:37:28,949 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:37:28,949 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #85#return; {616#true} is VALID [2022-04-15 15:37:28,949 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-15 15:37:28,951 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:28,954 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 15:37:28,954 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 15:37:28,954 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:37:28,955 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #87#return; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-15 15:37:28,955 INFO L272 TraceCheckUtils]: 0: Hoare triple {616#true} call ULTIMATE.init(); {640#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 15:37:28,955 INFO L290 TraceCheckUtils]: 1: Hoare triple {640#(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(10, 2);call #Ultimate.allocInit(12, 3); {616#true} is VALID [2022-04-15 15:37:28,956 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:37:28,956 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #101#return; {616#true} is VALID [2022-04-15 15:37:28,956 INFO L272 TraceCheckUtils]: 4: Hoare triple {616#true} call #t~ret6 := main(); {616#true} is VALID [2022-04-15 15:37:28,956 INFO L290 TraceCheckUtils]: 5: Hoare triple {616#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {616#true} is VALID [2022-04-15 15:37:28,956 INFO L272 TraceCheckUtils]: 6: Hoare triple {616#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {616#true} is VALID [2022-04-15 15:37:28,956 INFO L290 TraceCheckUtils]: 7: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 15:37:28,956 INFO L290 TraceCheckUtils]: 8: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 15:37:28,956 INFO L290 TraceCheckUtils]: 9: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:37:28,957 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {616#true} {616#true} #81#return; {616#true} is VALID [2022-04-15 15:37:28,957 INFO L290 TraceCheckUtils]: 11: Hoare triple {616#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {616#true} is VALID [2022-04-15 15:37:28,957 INFO L272 TraceCheckUtils]: 12: Hoare triple {616#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {616#true} is VALID [2022-04-15 15:37:28,957 INFO L290 TraceCheckUtils]: 13: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 15:37:28,957 INFO L290 TraceCheckUtils]: 14: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 15:37:28,957 INFO L290 TraceCheckUtils]: 15: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:37:28,957 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {616#true} {616#true} #83#return; {616#true} is VALID [2022-04-15 15:37:28,957 INFO L272 TraceCheckUtils]: 17: Hoare triple {616#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {616#true} is VALID [2022-04-15 15:37:28,957 INFO L290 TraceCheckUtils]: 18: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 15:37:28,958 INFO L290 TraceCheckUtils]: 19: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 15:37:28,958 INFO L290 TraceCheckUtils]: 20: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:37:28,958 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {616#true} {616#true} #85#return; {616#true} is VALID [2022-04-15 15:37:28,959 INFO L290 TraceCheckUtils]: 22: Hoare triple {616#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-15 15:37:28,959 INFO L290 TraceCheckUtils]: 23: Hoare triple {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} assume !false; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-15 15:37:28,959 INFO L272 TraceCheckUtils]: 24: Hoare triple {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {616#true} is VALID [2022-04-15 15:37:28,959 INFO L290 TraceCheckUtils]: 25: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 15:37:28,959 INFO L290 TraceCheckUtils]: 26: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 15:37:28,959 INFO L290 TraceCheckUtils]: 27: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:37:28,960 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {616#true} {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #87#return; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-15 15:37:28,961 INFO L272 TraceCheckUtils]: 29: Hoare triple {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {638#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:37:28,961 INFO L290 TraceCheckUtils]: 30: Hoare triple {638#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {639#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:37:28,961 INFO L290 TraceCheckUtils]: 31: Hoare triple {639#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {617#false} is VALID [2022-04-15 15:37:28,961 INFO L290 TraceCheckUtils]: 32: Hoare triple {617#false} assume !false; {617#false} is VALID [2022-04-15 15:37:28,962 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 15:37:28,962 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:37:28,962 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1349959583] [2022-04-15 15:37:28,962 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1349959583] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:37:28,962 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:37:28,962 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 15:37:28,963 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:37:28,963 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2002476316] [2022-04-15 15:37:28,963 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2002476316] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:37:28,963 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:37:28,963 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 15:37:28,963 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1191158762] [2022-04-15 15:37:28,963 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:37:28,964 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-15 15:37:28,964 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:37:28,964 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), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 15:37:28,990 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:28,991 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 15:37:28,991 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:28,991 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 15:37:28,991 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-15 15:37:28,992 INFO L87 Difference]: Start difference. First operand 37 states and 46 transitions. Second operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 15:37:29,377 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:29,378 INFO L93 Difference]: Finished difference Result 50 states and 63 transitions. [2022-04-15 15:37:29,378 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-15 15:37:29,378 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-15 15:37:29,378 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:37:29,379 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 15:37:29,381 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-15 15:37:29,381 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 15:37:29,382 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-15 15:37:29,382 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-15 15:37:29,430 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:29,432 INFO L225 Difference]: With dead ends: 50 [2022-04-15 15:37:29,432 INFO L226 Difference]: Without dead ends: 48 [2022-04-15 15:37:29,432 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 11 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-15 15:37:29,433 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 33 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 132 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 48 SdHoareTripleChecker+Invalid, 160 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 132 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 15:37:29,433 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [39 Valid, 48 Invalid, 160 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 132 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 15:37:29,434 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-15 15:37:29,439 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 41. [2022-04-15 15:37:29,440 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:37:29,440 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:37:29,440 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:37:29,441 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:37:29,459 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:29,459 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-15 15:37:29,460 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-15 15:37:29,460 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:29,460 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:29,461 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 48 states. [2022-04-15 15:37:29,461 INFO L87 Difference]: Start difference. First operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 48 states. [2022-04-15 15:37:29,463 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:29,463 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-15 15:37:29,463 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-15 15:37:29,464 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:29,464 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:29,464 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:37:29,464 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:37:29,464 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:37:29,466 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 49 transitions. [2022-04-15 15:37:29,466 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 49 transitions. Word has length 33 [2022-04-15 15:37:29,466 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:37:29,466 INFO L478 AbstractCegarLoop]: Abstraction has 41 states and 49 transitions. [2022-04-15 15:37:29,466 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 15:37:29,466 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 49 transitions. [2022-04-15 15:37:29,498 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:29,498 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2022-04-15 15:37:29,498 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-15 15:37:29,498 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:37:29,499 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:37:29,499 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-15 15:37:29,499 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:37:29,499 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:37:29,499 INFO L85 PathProgramCache]: Analyzing trace with hash -1455208590, now seen corresponding path program 1 times [2022-04-15 15:37:29,499 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:29,500 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1183973673] [2022-04-15 15:37:29,500 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:37:29,500 INFO L85 PathProgramCache]: Analyzing trace with hash -1455208590, now seen corresponding path program 2 times [2022-04-15 15:37:29,500 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:37:29,500 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1947655971] [2022-04-15 15:37:29,500 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:37:29,500 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:37:29,525 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:37:29,525 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [514670286] [2022-04-15 15:37:29,525 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:37:29,525 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:37:29,525 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:37:29,527 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-15 15:37:29,537 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-15 15:37:29,585 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:37:29,585 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:37:29,587 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-15 15:37:29,595 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:29,598 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:37:30,492 INFO L272 TraceCheckUtils]: 0: Hoare triple {929#true} call ULTIMATE.init(); {929#true} is VALID [2022-04-15 15:37:30,492 INFO L290 TraceCheckUtils]: 1: Hoare triple {929#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(10, 2);call #Ultimate.allocInit(12, 3); {929#true} is VALID [2022-04-15 15:37:30,493 INFO L290 TraceCheckUtils]: 2: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-15 15:37:30,493 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {929#true} {929#true} #101#return; {929#true} is VALID [2022-04-15 15:37:30,493 INFO L272 TraceCheckUtils]: 4: Hoare triple {929#true} call #t~ret6 := main(); {929#true} is VALID [2022-04-15 15:37:30,493 INFO L290 TraceCheckUtils]: 5: Hoare triple {929#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {929#true} is VALID [2022-04-15 15:37:30,493 INFO L272 TraceCheckUtils]: 6: Hoare triple {929#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {929#true} is VALID [2022-04-15 15:37:30,493 INFO L290 TraceCheckUtils]: 7: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-15 15:37:30,494 INFO L290 TraceCheckUtils]: 8: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-15 15:37:30,494 INFO L290 TraceCheckUtils]: 9: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-15 15:37:30,494 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {929#true} {929#true} #81#return; {929#true} is VALID [2022-04-15 15:37:30,494 INFO L290 TraceCheckUtils]: 11: Hoare triple {929#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {929#true} is VALID [2022-04-15 15:37:30,494 INFO L272 TraceCheckUtils]: 12: Hoare triple {929#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {929#true} is VALID [2022-04-15 15:37:30,495 INFO L290 TraceCheckUtils]: 13: Hoare triple {929#true} ~cond := #in~cond; {973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:37:30,495 INFO L290 TraceCheckUtils]: 14: Hoare triple {973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:37:30,495 INFO L290 TraceCheckUtils]: 15: Hoare triple {977#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:37:30,496 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {977#(not (= |assume_abort_if_not_#in~cond| 0))} {929#true} #83#return; {984#(<= (mod main_~B~0 4294967296) 2)} is VALID [2022-04-15 15:37:30,496 INFO L272 TraceCheckUtils]: 17: Hoare triple {984#(<= (mod main_~B~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {929#true} is VALID [2022-04-15 15:37:30,497 INFO L290 TraceCheckUtils]: 18: Hoare triple {929#true} ~cond := #in~cond; {973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:37:30,497 INFO L290 TraceCheckUtils]: 19: Hoare triple {973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:37:30,498 INFO L290 TraceCheckUtils]: 20: Hoare triple {977#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:37:30,498 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {977#(not (= |assume_abort_if_not_#in~cond| 0))} {984#(<= (mod main_~B~0 4294967296) 2)} #85#return; {1000#(and (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:30,499 INFO L290 TraceCheckUtils]: 22: Hoare triple {1000#(and (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:30,499 INFO L290 TraceCheckUtils]: 23: Hoare triple {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:30,499 INFO L272 TraceCheckUtils]: 24: Hoare triple {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {929#true} is VALID [2022-04-15 15:37:30,500 INFO L290 TraceCheckUtils]: 25: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-15 15:37:30,500 INFO L290 TraceCheckUtils]: 26: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-15 15:37:30,500 INFO L290 TraceCheckUtils]: 27: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-15 15:37:30,501 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {929#true} {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:30,501 INFO L272 TraceCheckUtils]: 29: Hoare triple {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {929#true} is VALID [2022-04-15 15:37:30,501 INFO L290 TraceCheckUtils]: 30: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-15 15:37:30,501 INFO L290 TraceCheckUtils]: 31: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-15 15:37:30,501 INFO L290 TraceCheckUtils]: 32: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-15 15:37:30,503 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {929#true} {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:30,504 INFO L272 TraceCheckUtils]: 34: Hoare triple {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1041#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:37:30,504 INFO L290 TraceCheckUtils]: 35: Hoare triple {1041#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1045#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:37:30,504 INFO L290 TraceCheckUtils]: 36: Hoare triple {1045#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {930#false} is VALID [2022-04-15 15:37:30,505 INFO L290 TraceCheckUtils]: 37: Hoare triple {930#false} assume !false; {930#false} is VALID [2022-04-15 15:37:30,505 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-15 15:37:30,506 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 15:37:30,506 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:37:30,506 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1947655971] [2022-04-15 15:37:30,506 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:37:30,506 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [514670286] [2022-04-15 15:37:30,508 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [514670286] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:37:30,508 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:37:30,513 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 15:37:30,514 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:37:30,514 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1183973673] [2022-04-15 15:37:30,515 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1183973673] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:37:30,515 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:37:30,515 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 15:37:30,515 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1749216282] [2022-04-15 15:37:30,515 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:37:30,516 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 38 [2022-04-15 15:37:30,518 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:37:30,519 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 15:37:30,543 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-15 15:37:30,543 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 15:37:30,543 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:30,544 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 15:37:30,545 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=54, Unknown=0, NotChecked=0, Total=72 [2022-04-15 15:37:30,545 INFO L87 Difference]: Start difference. First operand 41 states and 49 transitions. Second operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 15:37:30,970 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:30,970 INFO L93 Difference]: Finished difference Result 69 states and 89 transitions. [2022-04-15 15:37:30,970 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 15:37:30,970 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 38 [2022-04-15 15:37:30,970 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:37:30,971 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 15:37:30,972 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2022-04-15 15:37:30,972 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 15:37:30,974 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2022-04-15 15:37:30,974 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 83 transitions. [2022-04-15 15:37:31,039 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:31,040 INFO L225 Difference]: With dead ends: 69 [2022-04-15 15:37:31,040 INFO L226 Difference]: Without dead ends: 55 [2022-04-15 15:37:31,041 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-15 15:37:31,041 INFO L913 BasicCegarLoop]: 40 mSDtfsCounter, 33 mSDsluCounter, 138 mSDsCounter, 0 mSdLazyCounter, 117 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 178 SdHoareTripleChecker+Invalid, 136 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 117 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 15:37:31,041 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [44 Valid, 178 Invalid, 136 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 117 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 15:37:31,042 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-04-15 15:37:31,078 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 55. [2022-04-15 15:37:31,078 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:37:31,079 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 15:37:31,079 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 15:37:31,079 INFO L87 Difference]: Start difference. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 15:37:31,083 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:31,083 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-15 15:37:31,083 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-15 15:37:31,083 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:31,083 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:31,083 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 55 states. [2022-04-15 15:37:31,084 INFO L87 Difference]: Start difference. First operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 55 states. [2022-04-15 15:37:31,086 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:31,086 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-15 15:37:31,086 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-15 15:37:31,086 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:31,086 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:31,086 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:37:31,086 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:37:31,086 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 15:37:31,088 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 68 transitions. [2022-04-15 15:37:31,088 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 68 transitions. Word has length 38 [2022-04-15 15:37:31,088 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:37:31,088 INFO L478 AbstractCegarLoop]: Abstraction has 55 states and 68 transitions. [2022-04-15 15:37:31,089 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 15:37:31,089 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 68 transitions. [2022-04-15 15:37:31,149 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:31,149 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-15 15:37:31,149 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-15 15:37:31,149 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:37:31,150 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:37:31,178 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-15 15:37:31,379 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:37:31,379 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:37:31,379 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:37:31,380 INFO L85 PathProgramCache]: Analyzing trace with hash -1688067263, now seen corresponding path program 1 times [2022-04-15 15:37:31,380 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:31,380 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1118250148] [2022-04-15 15:37:31,380 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:37:31,380 INFO L85 PathProgramCache]: Analyzing trace with hash -1688067263, now seen corresponding path program 2 times [2022-04-15 15:37:31,380 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:37:31,380 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [733483290] [2022-04-15 15:37:31,380 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:37:31,381 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:37:31,396 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:37:31,396 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [597475642] [2022-04-15 15:37:31,396 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:37:31,396 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:37:31,396 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:37:31,397 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-15 15:37:31,433 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-15 15:37:31,450 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:37:31,450 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:37:31,451 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-15 15:37:31,462 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:31,463 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:37:32,443 INFO L272 TraceCheckUtils]: 0: Hoare triple {1413#true} call ULTIMATE.init(); {1413#true} is VALID [2022-04-15 15:37:32,443 INFO L290 TraceCheckUtils]: 1: Hoare triple {1413#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(10, 2);call #Ultimate.allocInit(12, 3); {1413#true} is VALID [2022-04-15 15:37:32,443 INFO L290 TraceCheckUtils]: 2: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 15:37:32,443 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1413#true} {1413#true} #101#return; {1413#true} is VALID [2022-04-15 15:37:32,443 INFO L272 TraceCheckUtils]: 4: Hoare triple {1413#true} call #t~ret6 := main(); {1413#true} is VALID [2022-04-15 15:37:32,443 INFO L290 TraceCheckUtils]: 5: Hoare triple {1413#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {1413#true} is VALID [2022-04-15 15:37:32,444 INFO L272 TraceCheckUtils]: 6: Hoare triple {1413#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {1413#true} is VALID [2022-04-15 15:37:32,444 INFO L290 TraceCheckUtils]: 7: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 15:37:32,444 INFO L290 TraceCheckUtils]: 8: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 15:37:32,444 INFO L290 TraceCheckUtils]: 9: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 15:37:32,444 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1413#true} {1413#true} #81#return; {1413#true} is VALID [2022-04-15 15:37:32,444 INFO L290 TraceCheckUtils]: 11: Hoare triple {1413#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1413#true} is VALID [2022-04-15 15:37:32,444 INFO L272 TraceCheckUtils]: 12: Hoare triple {1413#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {1413#true} is VALID [2022-04-15 15:37:32,447 INFO L290 TraceCheckUtils]: 13: Hoare triple {1413#true} ~cond := #in~cond; {1457#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:37:32,448 INFO L290 TraceCheckUtils]: 14: Hoare triple {1457#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1461#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:37:32,448 INFO L290 TraceCheckUtils]: 15: Hoare triple {1461#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1461#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:37:32,449 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1461#(not (= |assume_abort_if_not_#in~cond| 0))} {1413#true} #83#return; {1468#(<= (mod main_~B~0 4294967296) 2)} is VALID [2022-04-15 15:37:32,449 INFO L272 TraceCheckUtils]: 17: Hoare triple {1468#(<= (mod main_~B~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1413#true} is VALID [2022-04-15 15:37:32,449 INFO L290 TraceCheckUtils]: 18: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 15:37:32,449 INFO L290 TraceCheckUtils]: 19: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 15:37:32,449 INFO L290 TraceCheckUtils]: 20: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 15:37:32,450 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1413#true} {1468#(<= (mod main_~B~0 4294967296) 2)} #85#return; {1468#(<= (mod main_~B~0 4294967296) 2)} is VALID [2022-04-15 15:37:32,450 INFO L290 TraceCheckUtils]: 22: Hoare triple {1468#(<= (mod main_~B~0 4294967296) 2)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-15 15:37:32,451 INFO L290 TraceCheckUtils]: 23: Hoare triple {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !false; {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-15 15:37:32,451 INFO L272 TraceCheckUtils]: 24: Hoare triple {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1413#true} is VALID [2022-04-15 15:37:32,451 INFO L290 TraceCheckUtils]: 25: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 15:37:32,451 INFO L290 TraceCheckUtils]: 26: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 15:37:32,451 INFO L290 TraceCheckUtils]: 27: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 15:37:32,452 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1413#true} {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #87#return; {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-15 15:37:32,452 INFO L272 TraceCheckUtils]: 29: Hoare triple {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1413#true} is VALID [2022-04-15 15:37:32,452 INFO L290 TraceCheckUtils]: 30: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 15:37:32,452 INFO L290 TraceCheckUtils]: 31: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 15:37:32,453 INFO L290 TraceCheckUtils]: 32: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 15:37:32,453 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1413#true} {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #89#return; {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-15 15:37:32,453 INFO L272 TraceCheckUtils]: 34: Hoare triple {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1413#true} is VALID [2022-04-15 15:37:32,454 INFO L290 TraceCheckUtils]: 35: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 15:37:32,454 INFO L290 TraceCheckUtils]: 36: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 15:37:32,454 INFO L290 TraceCheckUtils]: 37: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 15:37:32,457 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1413#true} {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #91#return; {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-15 15:37:32,458 INFO L290 TraceCheckUtils]: 39: Hoare triple {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {1539#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-15 15:37:32,458 INFO L290 TraceCheckUtils]: 40: Hoare triple {1539#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !false; {1539#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-15 15:37:32,459 INFO L272 TraceCheckUtils]: 41: Hoare triple {1539#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {1546#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:37:32,459 INFO L290 TraceCheckUtils]: 42: Hoare triple {1546#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1550#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:37:32,460 INFO L290 TraceCheckUtils]: 43: Hoare triple {1550#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1414#false} is VALID [2022-04-15 15:37:32,460 INFO L290 TraceCheckUtils]: 44: Hoare triple {1414#false} assume !false; {1414#false} is VALID [2022-04-15 15:37:32,460 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 9 proven. 3 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-15 15:37:32,460 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:37:32,843 INFO L290 TraceCheckUtils]: 44: Hoare triple {1414#false} assume !false; {1414#false} is VALID [2022-04-15 15:37:32,843 INFO L290 TraceCheckUtils]: 43: Hoare triple {1550#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1414#false} is VALID [2022-04-15 15:37:32,844 INFO L290 TraceCheckUtils]: 42: Hoare triple {1546#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1550#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:37:32,845 INFO L272 TraceCheckUtils]: 41: Hoare triple {1566#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {1546#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:37:32,845 INFO L290 TraceCheckUtils]: 40: Hoare triple {1566#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {1566#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-15 15:37:32,845 INFO L290 TraceCheckUtils]: 39: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {1566#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-15 15:37:32,846 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1413#true} {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #91#return; {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:37:32,846 INFO L290 TraceCheckUtils]: 37: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 15:37:32,846 INFO L290 TraceCheckUtils]: 36: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 15:37:32,846 INFO L290 TraceCheckUtils]: 35: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 15:37:32,846 INFO L272 TraceCheckUtils]: 34: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1413#true} is VALID [2022-04-15 15:37:32,847 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1413#true} {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #89#return; {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:37:32,847 INFO L290 TraceCheckUtils]: 32: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 15:37:32,847 INFO L290 TraceCheckUtils]: 31: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 15:37:32,847 INFO L290 TraceCheckUtils]: 30: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 15:37:32,847 INFO L272 TraceCheckUtils]: 29: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1413#true} is VALID [2022-04-15 15:37:32,848 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1413#true} {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #87#return; {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:37:32,848 INFO L290 TraceCheckUtils]: 27: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 15:37:32,848 INFO L290 TraceCheckUtils]: 26: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 15:37:32,848 INFO L290 TraceCheckUtils]: 25: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 15:37:32,848 INFO L272 TraceCheckUtils]: 24: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1413#true} is VALID [2022-04-15 15:37:32,848 INFO L290 TraceCheckUtils]: 23: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !false; {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:37:32,854 INFO L290 TraceCheckUtils]: 22: Hoare triple {1413#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:37:32,854 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1413#true} {1413#true} #85#return; {1413#true} is VALID [2022-04-15 15:37:32,855 INFO L290 TraceCheckUtils]: 20: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 15:37:32,855 INFO L290 TraceCheckUtils]: 19: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 15:37:32,855 INFO L290 TraceCheckUtils]: 18: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 15:37:32,855 INFO L272 TraceCheckUtils]: 17: Hoare triple {1413#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1413#true} is VALID [2022-04-15 15:37:32,855 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1413#true} {1413#true} #83#return; {1413#true} is VALID [2022-04-15 15:37:32,855 INFO L290 TraceCheckUtils]: 15: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 15:37:32,855 INFO L290 TraceCheckUtils]: 14: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 15:37:32,855 INFO L290 TraceCheckUtils]: 13: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 15:37:32,855 INFO L272 TraceCheckUtils]: 12: Hoare triple {1413#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {1413#true} is VALID [2022-04-15 15:37:32,855 INFO L290 TraceCheckUtils]: 11: Hoare triple {1413#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1413#true} is VALID [2022-04-15 15:37:32,856 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1413#true} {1413#true} #81#return; {1413#true} is VALID [2022-04-15 15:37:32,856 INFO L290 TraceCheckUtils]: 9: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 15:37:32,856 INFO L290 TraceCheckUtils]: 8: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 15:37:32,856 INFO L290 TraceCheckUtils]: 7: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 15:37:32,856 INFO L272 TraceCheckUtils]: 6: Hoare triple {1413#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {1413#true} is VALID [2022-04-15 15:37:32,856 INFO L290 TraceCheckUtils]: 5: Hoare triple {1413#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {1413#true} is VALID [2022-04-15 15:37:32,856 INFO L272 TraceCheckUtils]: 4: Hoare triple {1413#true} call #t~ret6 := main(); {1413#true} is VALID [2022-04-15 15:37:32,856 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1413#true} {1413#true} #101#return; {1413#true} is VALID [2022-04-15 15:37:32,856 INFO L290 TraceCheckUtils]: 2: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 15:37:32,856 INFO L290 TraceCheckUtils]: 1: Hoare triple {1413#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(10, 2);call #Ultimate.allocInit(12, 3); {1413#true} is VALID [2022-04-15 15:37:32,856 INFO L272 TraceCheckUtils]: 0: Hoare triple {1413#true} call ULTIMATE.init(); {1413#true} is VALID [2022-04-15 15:37:32,857 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-15 15:37:32,857 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:37:32,857 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [733483290] [2022-04-15 15:37:32,857 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:37:32,857 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [597475642] [2022-04-15 15:37:32,857 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [597475642] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 15:37:32,857 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 15:37:32,857 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [9] total 11 [2022-04-15 15:37:32,857 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:37:32,858 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1118250148] [2022-04-15 15:37:32,858 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1118250148] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:37:32,858 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:37:32,858 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 15:37:32,858 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1440179081] [2022-04-15 15:37:32,858 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:37:32,858 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 45 [2022-04-15 15:37:32,858 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:37:32,858 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:37:32,894 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-15 15:37:32,894 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 15:37:32,894 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:32,895 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 15:37:32,895 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-15 15:37:32,895 INFO L87 Difference]: Start difference. First operand 55 states and 68 transitions. Second operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:37:33,152 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:33,152 INFO L93 Difference]: Finished difference Result 68 states and 85 transitions. [2022-04-15 15:37:33,152 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 15:37:33,153 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 45 [2022-04-15 15:37:33,153 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:37:33,153 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:37:33,154 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-15 15:37:33,154 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:37:33,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-15 15:37:33,155 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-15 15:37:33,199 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:33,200 INFO L225 Difference]: With dead ends: 68 [2022-04-15 15:37:33,200 INFO L226 Difference]: Without dead ends: 66 [2022-04-15 15:37:33,200 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 79 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-04-15 15:37:33,201 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 12 mSDsluCounter, 109 mSDsCounter, 0 mSdLazyCounter, 68 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 151 SdHoareTripleChecker+Invalid, 69 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 68 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 15:37:33,201 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 151 Invalid, 69 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 68 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 15:37:33,201 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-04-15 15:37:33,242 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 64. [2022-04-15 15:37:33,243 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:37:33,243 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 15:37:33,243 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 15:37:33,243 INFO L87 Difference]: Start difference. First operand 66 states. Second operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 15:37:33,245 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:33,245 INFO L93 Difference]: Finished difference Result 66 states and 83 transitions. [2022-04-15 15:37:33,245 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 83 transitions. [2022-04-15 15:37:33,246 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:33,246 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:33,246 INFO L74 IsIncluded]: Start isIncluded. First operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 66 states. [2022-04-15 15:37:33,246 INFO L87 Difference]: Start difference. First operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 66 states. [2022-04-15 15:37:33,248 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:33,248 INFO L93 Difference]: Finished difference Result 66 states and 83 transitions. [2022-04-15 15:37:33,248 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 83 transitions. [2022-04-15 15:37:33,249 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:33,249 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:33,249 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:37:33,249 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:37:33,249 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 15:37:33,251 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 80 transitions. [2022-04-15 15:37:33,251 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 80 transitions. Word has length 45 [2022-04-15 15:37:33,251 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:37:33,251 INFO L478 AbstractCegarLoop]: Abstraction has 64 states and 80 transitions. [2022-04-15 15:37:33,251 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:37:33,251 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 64 states and 80 transitions. [2022-04-15 15:37:33,334 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:33,334 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 80 transitions. [2022-04-15 15:37:33,335 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-15 15:37:33,335 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:37:33,335 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:37:33,351 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-15 15:37:33,551 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:37:33,551 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:37:33,552 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:37:33,552 INFO L85 PathProgramCache]: Analyzing trace with hash -1471734606, now seen corresponding path program 1 times [2022-04-15 15:37:33,552 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:33,552 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [402537430] [2022-04-15 15:37:33,552 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:37:33,552 INFO L85 PathProgramCache]: Analyzing trace with hash -1471734606, now seen corresponding path program 2 times [2022-04-15 15:37:33,553 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:37:33,553 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2110132998] [2022-04-15 15:37:33,553 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:37:33,553 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:37:33,576 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:37:33,576 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1390257322] [2022-04-15 15:37:33,576 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:37:33,576 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:37:33,576 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:37:33,577 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-15 15:37:33,620 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-15 15:37:33,627 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:37:33,627 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:37:33,628 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-15 15:37:33,638 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:33,639 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:37:34,902 INFO L272 TraceCheckUtils]: 0: Hoare triple {2091#true} call ULTIMATE.init(); {2091#true} is VALID [2022-04-15 15:37:34,902 INFO L290 TraceCheckUtils]: 1: Hoare triple {2091#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(10, 2);call #Ultimate.allocInit(12, 3); {2091#true} is VALID [2022-04-15 15:37:34,902 INFO L290 TraceCheckUtils]: 2: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-15 15:37:34,902 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2091#true} {2091#true} #101#return; {2091#true} is VALID [2022-04-15 15:37:34,902 INFO L272 TraceCheckUtils]: 4: Hoare triple {2091#true} call #t~ret6 := main(); {2091#true} is VALID [2022-04-15 15:37:34,903 INFO L290 TraceCheckUtils]: 5: Hoare triple {2091#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {2091#true} is VALID [2022-04-15 15:37:34,903 INFO L272 TraceCheckUtils]: 6: Hoare triple {2091#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {2091#true} is VALID [2022-04-15 15:37:34,903 INFO L290 TraceCheckUtils]: 7: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-15 15:37:34,903 INFO L290 TraceCheckUtils]: 8: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-15 15:37:34,903 INFO L290 TraceCheckUtils]: 9: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-15 15:37:34,903 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2091#true} {2091#true} #81#return; {2091#true} is VALID [2022-04-15 15:37:34,903 INFO L290 TraceCheckUtils]: 11: Hoare triple {2091#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2091#true} is VALID [2022-04-15 15:37:34,903 INFO L272 TraceCheckUtils]: 12: Hoare triple {2091#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {2091#true} is VALID [2022-04-15 15:37:34,903 INFO L290 TraceCheckUtils]: 13: Hoare triple {2091#true} ~cond := #in~cond; {2135#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:37:34,904 INFO L290 TraceCheckUtils]: 14: Hoare triple {2135#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2139#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:37:34,904 INFO L290 TraceCheckUtils]: 15: Hoare triple {2139#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2139#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:37:34,905 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2139#(not (= |assume_abort_if_not_#in~cond| 0))} {2091#true} #83#return; {2146#(<= (mod main_~B~0 4294967296) 2)} is VALID [2022-04-15 15:37:34,905 INFO L272 TraceCheckUtils]: 17: Hoare triple {2146#(<= (mod main_~B~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2091#true} is VALID [2022-04-15 15:37:34,905 INFO L290 TraceCheckUtils]: 18: Hoare triple {2091#true} ~cond := #in~cond; {2135#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:37:34,905 INFO L290 TraceCheckUtils]: 19: Hoare triple {2135#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2139#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:37:34,906 INFO L290 TraceCheckUtils]: 20: Hoare triple {2139#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2139#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:37:34,906 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2139#(not (= |assume_abort_if_not_#in~cond| 0))} {2146#(<= (mod main_~B~0 4294967296) 2)} #85#return; {2162#(and (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:34,907 INFO L290 TraceCheckUtils]: 22: Hoare triple {2162#(and (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:34,907 INFO L290 TraceCheckUtils]: 23: Hoare triple {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:34,907 INFO L272 TraceCheckUtils]: 24: Hoare triple {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2091#true} is VALID [2022-04-15 15:37:34,907 INFO L290 TraceCheckUtils]: 25: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-15 15:37:34,907 INFO L290 TraceCheckUtils]: 26: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-15 15:37:34,907 INFO L290 TraceCheckUtils]: 27: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-15 15:37:34,908 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2091#true} {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:34,908 INFO L272 TraceCheckUtils]: 29: Hoare triple {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2091#true} is VALID [2022-04-15 15:37:34,908 INFO L290 TraceCheckUtils]: 30: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-15 15:37:34,908 INFO L290 TraceCheckUtils]: 31: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-15 15:37:34,908 INFO L290 TraceCheckUtils]: 32: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-15 15:37:34,909 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2091#true} {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:34,909 INFO L272 TraceCheckUtils]: 34: Hoare triple {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2091#true} is VALID [2022-04-15 15:37:34,909 INFO L290 TraceCheckUtils]: 35: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-15 15:37:34,909 INFO L290 TraceCheckUtils]: 36: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-15 15:37:34,910 INFO L290 TraceCheckUtils]: 37: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-15 15:37:34,911 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2091#true} {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #91#return; {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:34,911 INFO L290 TraceCheckUtils]: 39: Hoare triple {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2218#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:34,912 INFO L290 TraceCheckUtils]: 40: Hoare triple {2218#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !false; {2218#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:34,912 INFO L272 TraceCheckUtils]: 41: Hoare triple {2218#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2091#true} is VALID [2022-04-15 15:37:34,912 INFO L290 TraceCheckUtils]: 42: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-15 15:37:34,912 INFO L290 TraceCheckUtils]: 43: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-15 15:37:34,912 INFO L290 TraceCheckUtils]: 44: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-15 15:37:34,913 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2091#true} {2218#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #87#return; {2218#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:34,913 INFO L272 TraceCheckUtils]: 46: Hoare triple {2218#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2091#true} is VALID [2022-04-15 15:37:34,913 INFO L290 TraceCheckUtils]: 47: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-15 15:37:34,913 INFO L290 TraceCheckUtils]: 48: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-15 15:37:34,913 INFO L290 TraceCheckUtils]: 49: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-15 15:37:34,914 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2091#true} {2218#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #89#return; {2218#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:34,914 INFO L272 TraceCheckUtils]: 51: Hoare triple {2218#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2255#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:37:34,915 INFO L290 TraceCheckUtils]: 52: Hoare triple {2255#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2259#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:37:34,915 INFO L290 TraceCheckUtils]: 53: Hoare triple {2259#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2092#false} is VALID [2022-04-15 15:37:34,915 INFO L290 TraceCheckUtils]: 54: Hoare triple {2092#false} assume !false; {2092#false} is VALID [2022-04-15 15:37:34,917 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 16 proven. 4 refuted. 0 times theorem prover too weak. 46 trivial. 0 not checked. [2022-04-15 15:37:34,917 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:37:35,379 INFO L290 TraceCheckUtils]: 54: Hoare triple {2092#false} assume !false; {2092#false} is VALID [2022-04-15 15:37:35,381 INFO L290 TraceCheckUtils]: 53: Hoare triple {2259#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2092#false} is VALID [2022-04-15 15:37:35,381 INFO L290 TraceCheckUtils]: 52: Hoare triple {2255#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2259#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:37:35,382 INFO L272 TraceCheckUtils]: 51: Hoare triple {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2255#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:37:35,386 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2091#true} {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:35,386 INFO L290 TraceCheckUtils]: 49: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-15 15:37:35,386 INFO L290 TraceCheckUtils]: 48: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-15 15:37:35,386 INFO L290 TraceCheckUtils]: 47: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-15 15:37:35,386 INFO L272 TraceCheckUtils]: 46: Hoare triple {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2091#true} is VALID [2022-04-15 15:37:35,387 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2091#true} {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:35,387 INFO L290 TraceCheckUtils]: 44: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-15 15:37:35,387 INFO L290 TraceCheckUtils]: 43: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-15 15:37:35,387 INFO L290 TraceCheckUtils]: 42: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-15 15:37:35,387 INFO L272 TraceCheckUtils]: 41: Hoare triple {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2091#true} is VALID [2022-04-15 15:37:35,388 INFO L290 TraceCheckUtils]: 40: Hoare triple {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:35,505 INFO L290 TraceCheckUtils]: 39: Hoare triple {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:35,505 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2091#true} {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #91#return; {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:35,506 INFO L290 TraceCheckUtils]: 37: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-15 15:37:35,506 INFO L290 TraceCheckUtils]: 36: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-15 15:37:35,506 INFO L290 TraceCheckUtils]: 35: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-15 15:37:35,506 INFO L272 TraceCheckUtils]: 34: Hoare triple {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2091#true} is VALID [2022-04-15 15:37:35,506 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2091#true} {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:35,507 INFO L290 TraceCheckUtils]: 32: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-15 15:37:35,507 INFO L290 TraceCheckUtils]: 31: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-15 15:37:35,507 INFO L290 TraceCheckUtils]: 30: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-15 15:37:35,507 INFO L272 TraceCheckUtils]: 29: Hoare triple {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2091#true} is VALID [2022-04-15 15:37:35,507 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2091#true} {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:35,507 INFO L290 TraceCheckUtils]: 27: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-15 15:37:35,507 INFO L290 TraceCheckUtils]: 26: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-15 15:37:35,508 INFO L290 TraceCheckUtils]: 25: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-15 15:37:35,508 INFO L272 TraceCheckUtils]: 24: Hoare triple {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2091#true} is VALID [2022-04-15 15:37:35,508 INFO L290 TraceCheckUtils]: 23: Hoare triple {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:35,508 INFO L290 TraceCheckUtils]: 22: Hoare triple {2091#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:35,508 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2091#true} {2091#true} #85#return; {2091#true} is VALID [2022-04-15 15:37:35,509 INFO L290 TraceCheckUtils]: 20: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-15 15:37:35,509 INFO L290 TraceCheckUtils]: 19: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-15 15:37:35,509 INFO L290 TraceCheckUtils]: 18: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-15 15:37:35,509 INFO L272 TraceCheckUtils]: 17: Hoare triple {2091#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2091#true} is VALID [2022-04-15 15:37:35,509 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2091#true} {2091#true} #83#return; {2091#true} is VALID [2022-04-15 15:37:35,509 INFO L290 TraceCheckUtils]: 15: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-15 15:37:35,509 INFO L290 TraceCheckUtils]: 14: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-15 15:37:35,509 INFO L290 TraceCheckUtils]: 13: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-15 15:37:35,509 INFO L272 TraceCheckUtils]: 12: Hoare triple {2091#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {2091#true} is VALID [2022-04-15 15:37:35,509 INFO L290 TraceCheckUtils]: 11: Hoare triple {2091#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2091#true} is VALID [2022-04-15 15:37:35,509 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2091#true} {2091#true} #81#return; {2091#true} is VALID [2022-04-15 15:37:35,509 INFO L290 TraceCheckUtils]: 9: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-15 15:37:35,510 INFO L290 TraceCheckUtils]: 8: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-15 15:37:35,510 INFO L290 TraceCheckUtils]: 7: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-15 15:37:35,510 INFO L272 TraceCheckUtils]: 6: Hoare triple {2091#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {2091#true} is VALID [2022-04-15 15:37:35,510 INFO L290 TraceCheckUtils]: 5: Hoare triple {2091#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {2091#true} is VALID [2022-04-15 15:37:35,510 INFO L272 TraceCheckUtils]: 4: Hoare triple {2091#true} call #t~ret6 := main(); {2091#true} is VALID [2022-04-15 15:37:35,510 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2091#true} {2091#true} #101#return; {2091#true} is VALID [2022-04-15 15:37:35,510 INFO L290 TraceCheckUtils]: 2: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-15 15:37:35,510 INFO L290 TraceCheckUtils]: 1: Hoare triple {2091#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(10, 2);call #Ultimate.allocInit(12, 3); {2091#true} is VALID [2022-04-15 15:37:35,510 INFO L272 TraceCheckUtils]: 0: Hoare triple {2091#true} call ULTIMATE.init(); {2091#true} is VALID [2022-04-15 15:37:35,510 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 56 trivial. 0 not checked. [2022-04-15 15:37:35,511 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:37:35,511 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2110132998] [2022-04-15 15:37:35,511 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:37:35,511 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1390257322] [2022-04-15 15:37:35,511 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1390257322] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 15:37:35,511 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 15:37:35,511 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [10] total 11 [2022-04-15 15:37:35,511 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:37:35,511 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [402537430] [2022-04-15 15:37:35,511 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [402537430] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:37:35,511 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:37:35,511 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 15:37:35,512 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [686394176] [2022-04-15 15:37:35,512 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:37:35,512 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 55 [2022-04-15 15:37:35,512 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:37:35,512 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:37:35,536 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-15 15:37:35,536 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 15:37:35,536 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:35,536 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 15:37:35,536 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-15 15:37:35,536 INFO L87 Difference]: Start difference. First operand 64 states and 80 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:37:35,848 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:35,848 INFO L93 Difference]: Finished difference Result 76 states and 95 transitions. [2022-04-15 15:37:35,848 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 15:37:35,849 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 55 [2022-04-15 15:37:35,849 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:37:35,849 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:37:35,850 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-15 15:37:35,850 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:37:35,851 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-15 15:37:35,851 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 58 transitions. [2022-04-15 15:37:35,894 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:35,896 INFO L225 Difference]: With dead ends: 76 [2022-04-15 15:37:35,896 INFO L226 Difference]: Without dead ends: 74 [2022-04-15 15:37:35,896 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 98 SyntacticMatches, 2 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-04-15 15:37:35,897 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 8 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 15:37:35,897 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 129 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 15:37:35,897 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-15 15:37:35,946 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 71. [2022-04-15 15:37:35,946 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:37:35,947 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-15 15:37:35,947 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-15 15:37:35,947 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-15 15:37:35,949 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:35,949 INFO L93 Difference]: Finished difference Result 74 states and 93 transitions. [2022-04-15 15:37:35,950 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 93 transitions. [2022-04-15 15:37:35,950 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:35,950 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:35,950 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) Second operand 74 states. [2022-04-15 15:37:35,950 INFO L87 Difference]: Start difference. First operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) Second operand 74 states. [2022-04-15 15:37:35,952 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:35,952 INFO L93 Difference]: Finished difference Result 74 states and 93 transitions. [2022-04-15 15:37:35,952 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 93 transitions. [2022-04-15 15:37:35,953 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:35,953 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:35,953 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:37:35,953 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:37:35,953 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-15 15:37:35,955 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 88 transitions. [2022-04-15 15:37:35,955 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 88 transitions. Word has length 55 [2022-04-15 15:37:35,955 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:37:35,955 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 88 transitions. [2022-04-15 15:37:35,955 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:37:35,955 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 88 transitions. [2022-04-15 15:37:36,046 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:36,046 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 88 transitions. [2022-04-15 15:37:36,046 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-15 15:37:36,047 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:37:36,047 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:37:36,064 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-15 15:37:36,255 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:37:36,255 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:37:36,256 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:37:36,256 INFO L85 PathProgramCache]: Analyzing trace with hash -682689219, now seen corresponding path program 1 times [2022-04-15 15:37:36,256 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:36,256 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1249380062] [2022-04-15 15:37:36,256 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:37:36,256 INFO L85 PathProgramCache]: Analyzing trace with hash -682689219, now seen corresponding path program 2 times [2022-04-15 15:37:36,256 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:37:36,257 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1569216353] [2022-04-15 15:37:36,257 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:37:36,257 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:37:36,265 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:37:36,265 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1866236531] [2022-04-15 15:37:36,265 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:37:36,265 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:37:36,265 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:37:36,277 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-15 15:37:36,278 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-15 15:37:36,309 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:37:36,309 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:37:36,310 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-15 15:37:36,319 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:36,320 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:37:36,493 INFO L272 TraceCheckUtils]: 0: Hoare triple {2875#true} call ULTIMATE.init(); {2875#true} is VALID [2022-04-15 15:37:36,493 INFO L290 TraceCheckUtils]: 1: Hoare triple {2875#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(10, 2);call #Ultimate.allocInit(12, 3); {2875#true} is VALID [2022-04-15 15:37:36,493 INFO L290 TraceCheckUtils]: 2: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-15 15:37:36,493 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2875#true} {2875#true} #101#return; {2875#true} is VALID [2022-04-15 15:37:36,494 INFO L272 TraceCheckUtils]: 4: Hoare triple {2875#true} call #t~ret6 := main(); {2875#true} is VALID [2022-04-15 15:37:36,495 INFO L290 TraceCheckUtils]: 5: Hoare triple {2875#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {2875#true} is VALID [2022-04-15 15:37:36,495 INFO L272 TraceCheckUtils]: 6: Hoare triple {2875#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {2875#true} is VALID [2022-04-15 15:37:36,495 INFO L290 TraceCheckUtils]: 7: Hoare triple {2875#true} ~cond := #in~cond; {2875#true} is VALID [2022-04-15 15:37:36,495 INFO L290 TraceCheckUtils]: 8: Hoare triple {2875#true} assume !(0 == ~cond); {2875#true} is VALID [2022-04-15 15:37:36,495 INFO L290 TraceCheckUtils]: 9: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-15 15:37:36,495 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2875#true} {2875#true} #81#return; {2875#true} is VALID [2022-04-15 15:37:36,495 INFO L290 TraceCheckUtils]: 11: Hoare triple {2875#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2875#true} is VALID [2022-04-15 15:37:36,495 INFO L272 TraceCheckUtils]: 12: Hoare triple {2875#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {2875#true} is VALID [2022-04-15 15:37:36,495 INFO L290 TraceCheckUtils]: 13: Hoare triple {2875#true} ~cond := #in~cond; {2875#true} is VALID [2022-04-15 15:37:36,495 INFO L290 TraceCheckUtils]: 14: Hoare triple {2875#true} assume !(0 == ~cond); {2875#true} is VALID [2022-04-15 15:37:36,495 INFO L290 TraceCheckUtils]: 15: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-15 15:37:36,496 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2875#true} {2875#true} #83#return; {2875#true} is VALID [2022-04-15 15:37:36,496 INFO L272 TraceCheckUtils]: 17: Hoare triple {2875#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2875#true} is VALID [2022-04-15 15:37:36,496 INFO L290 TraceCheckUtils]: 18: Hoare triple {2875#true} ~cond := #in~cond; {2875#true} is VALID [2022-04-15 15:37:36,496 INFO L290 TraceCheckUtils]: 19: Hoare triple {2875#true} assume !(0 == ~cond); {2875#true} is VALID [2022-04-15 15:37:36,496 INFO L290 TraceCheckUtils]: 20: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-15 15:37:36,496 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2875#true} {2875#true} #85#return; {2875#true} is VALID [2022-04-15 15:37:36,496 INFO L290 TraceCheckUtils]: 22: Hoare triple {2875#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:37:36,497 INFO L290 TraceCheckUtils]: 23: Hoare triple {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:37:36,497 INFO L272 TraceCheckUtils]: 24: Hoare triple {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2875#true} is VALID [2022-04-15 15:37:36,497 INFO L290 TraceCheckUtils]: 25: Hoare triple {2875#true} ~cond := #in~cond; {2875#true} is VALID [2022-04-15 15:37:36,497 INFO L290 TraceCheckUtils]: 26: Hoare triple {2875#true} assume !(0 == ~cond); {2875#true} is VALID [2022-04-15 15:37:36,497 INFO L290 TraceCheckUtils]: 27: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-15 15:37:36,498 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2875#true} {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:37:36,498 INFO L272 TraceCheckUtils]: 29: Hoare triple {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2875#true} is VALID [2022-04-15 15:37:36,498 INFO L290 TraceCheckUtils]: 30: Hoare triple {2875#true} ~cond := #in~cond; {2875#true} is VALID [2022-04-15 15:37:36,498 INFO L290 TraceCheckUtils]: 31: Hoare triple {2875#true} assume !(0 == ~cond); {2875#true} is VALID [2022-04-15 15:37:36,498 INFO L290 TraceCheckUtils]: 32: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-15 15:37:36,499 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2875#true} {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:37:36,499 INFO L272 TraceCheckUtils]: 34: Hoare triple {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2875#true} is VALID [2022-04-15 15:37:36,499 INFO L290 TraceCheckUtils]: 35: Hoare triple {2875#true} ~cond := #in~cond; {2875#true} is VALID [2022-04-15 15:37:36,499 INFO L290 TraceCheckUtils]: 36: Hoare triple {2875#true} assume !(0 == ~cond); {2875#true} is VALID [2022-04-15 15:37:36,499 INFO L290 TraceCheckUtils]: 37: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-15 15:37:36,499 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2875#true} {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:37:36,500 INFO L290 TraceCheckUtils]: 39: Hoare triple {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:37:36,500 INFO L290 TraceCheckUtils]: 40: Hoare triple {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:37:36,500 INFO L272 TraceCheckUtils]: 41: Hoare triple {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {2875#true} is VALID [2022-04-15 15:37:36,500 INFO L290 TraceCheckUtils]: 42: Hoare triple {2875#true} ~cond := #in~cond; {2875#true} is VALID [2022-04-15 15:37:36,500 INFO L290 TraceCheckUtils]: 43: Hoare triple {2875#true} assume !(0 == ~cond); {2875#true} is VALID [2022-04-15 15:37:36,500 INFO L290 TraceCheckUtils]: 44: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-15 15:37:36,501 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2875#true} {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #93#return; {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:37:36,501 INFO L272 TraceCheckUtils]: 46: Hoare triple {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2875#true} is VALID [2022-04-15 15:37:36,501 INFO L290 TraceCheckUtils]: 47: Hoare triple {2875#true} ~cond := #in~cond; {2875#true} is VALID [2022-04-15 15:37:36,501 INFO L290 TraceCheckUtils]: 48: Hoare triple {2875#true} assume !(0 == ~cond); {2875#true} is VALID [2022-04-15 15:37:36,501 INFO L290 TraceCheckUtils]: 49: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-15 15:37:36,502 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2875#true} {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #95#return; {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:37:36,502 INFO L290 TraceCheckUtils]: 51: Hoare triple {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(1 != ~p~0); {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:37:36,503 INFO L272 TraceCheckUtils]: 52: Hoare triple {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {3037#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:37:36,503 INFO L290 TraceCheckUtils]: 53: Hoare triple {3037#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3041#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:37:36,504 INFO L290 TraceCheckUtils]: 54: Hoare triple {3041#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2876#false} is VALID [2022-04-15 15:37:36,504 INFO L290 TraceCheckUtils]: 55: Hoare triple {2876#false} assume !false; {2876#false} is VALID [2022-04-15 15:37:36,504 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-15 15:37:36,504 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 15:37:36,504 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:37:36,504 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1569216353] [2022-04-15 15:37:36,504 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:37:36,504 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1866236531] [2022-04-15 15:37:36,504 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1866236531] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:37:36,504 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:37:36,504 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 15:37:36,505 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:37:36,505 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1249380062] [2022-04-15 15:37:36,505 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1249380062] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:37:36,505 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:37:36,505 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 15:37:36,505 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1547860916] [2022-04-15 15:37:36,505 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:37:36,505 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 56 [2022-04-15 15:37:36,506 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:37:36,506 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:37:36,535 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:36,535 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 15:37:36,535 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:36,535 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 15:37:36,535 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 15:37:36,536 INFO L87 Difference]: Start difference. First operand 71 states and 88 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:37:36,762 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:36,762 INFO L93 Difference]: Finished difference Result 79 states and 96 transitions. [2022-04-15 15:37:36,762 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 15:37:36,762 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 56 [2022-04-15 15:37:36,762 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:37:36,762 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:37:36,763 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-15 15:37:36,763 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:37:36,764 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-15 15:37:36,764 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-15 15:37:36,808 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:36,809 INFO L225 Difference]: With dead ends: 79 [2022-04-15 15:37:36,809 INFO L226 Difference]: Without dead ends: 72 [2022-04-15 15:37:36,810 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 56 GetRequests, 52 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-15 15:37:36,810 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 8 mSDsluCounter, 87 mSDsCounter, 0 mSdLazyCounter, 49 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 49 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 15:37:36,810 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 123 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 49 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 15:37:36,811 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2022-04-15 15:37:36,863 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 71. [2022-04-15 15:37:36,863 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:37:36,864 INFO L82 GeneralOperation]: Start isEquivalent. First operand 72 states. Second operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 15:37:36,864 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 15:37:36,865 INFO L87 Difference]: Start difference. First operand 72 states. Second operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 15:37:36,868 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:36,868 INFO L93 Difference]: Finished difference Result 72 states and 86 transitions. [2022-04-15 15:37:36,868 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 86 transitions. [2022-04-15 15:37:36,868 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:36,868 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:36,869 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 72 states. [2022-04-15 15:37:36,869 INFO L87 Difference]: Start difference. First operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 72 states. [2022-04-15 15:37:36,871 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:36,871 INFO L93 Difference]: Finished difference Result 72 states and 86 transitions. [2022-04-15 15:37:36,871 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 86 transitions. [2022-04-15 15:37:36,871 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:36,872 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:36,872 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:37:36,872 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:37:36,872 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 15:37:36,874 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 85 transitions. [2022-04-15 15:37:36,874 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 85 transitions. Word has length 56 [2022-04-15 15:37:36,874 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:37:36,874 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 85 transitions. [2022-04-15 15:37:36,874 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:37:36,874 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 85 transitions. [2022-04-15 15:37:36,979 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:36,980 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 85 transitions. [2022-04-15 15:37:36,980 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-15 15:37:36,980 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:37:36,980 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:37:37,028 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-15 15:37:37,181 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:37:37,181 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:37:37,181 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:37:37,181 INFO L85 PathProgramCache]: Analyzing trace with hash 680531353, now seen corresponding path program 1 times [2022-04-15 15:37:37,181 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:37,181 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1559086546] [2022-04-15 15:37:37,182 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:37:37,182 INFO L85 PathProgramCache]: Analyzing trace with hash 680531353, now seen corresponding path program 2 times [2022-04-15 15:37:37,182 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:37:37,182 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [923980829] [2022-04-15 15:37:37,182 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:37:37,182 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:37:37,193 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:37:37,193 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1201825985] [2022-04-15 15:37:37,194 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:37:37,194 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:37:37,194 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:37:37,195 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-15 15:37:37,196 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-15 15:37:37,254 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:37:37,254 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:37:37,255 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-15 15:37:37,269 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:37,270 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:37:42,807 INFO L272 TraceCheckUtils]: 0: Hoare triple {3493#true} call ULTIMATE.init(); {3493#true} is VALID [2022-04-15 15:37:42,808 INFO L290 TraceCheckUtils]: 1: Hoare triple {3493#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(10, 2);call #Ultimate.allocInit(12, 3); {3493#true} is VALID [2022-04-15 15:37:42,808 INFO L290 TraceCheckUtils]: 2: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 15:37:42,808 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3493#true} {3493#true} #101#return; {3493#true} is VALID [2022-04-15 15:37:42,808 INFO L272 TraceCheckUtils]: 4: Hoare triple {3493#true} call #t~ret6 := main(); {3493#true} is VALID [2022-04-15 15:37:42,808 INFO L290 TraceCheckUtils]: 5: Hoare triple {3493#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {3493#true} is VALID [2022-04-15 15:37:42,808 INFO L272 TraceCheckUtils]: 6: Hoare triple {3493#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {3493#true} is VALID [2022-04-15 15:37:42,808 INFO L290 TraceCheckUtils]: 7: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 15:37:42,808 INFO L290 TraceCheckUtils]: 8: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 15:37:42,808 INFO L290 TraceCheckUtils]: 9: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 15:37:42,808 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3493#true} {3493#true} #81#return; {3493#true} is VALID [2022-04-15 15:37:42,808 INFO L290 TraceCheckUtils]: 11: Hoare triple {3493#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3493#true} is VALID [2022-04-15 15:37:42,808 INFO L272 TraceCheckUtils]: 12: Hoare triple {3493#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {3493#true} is VALID [2022-04-15 15:37:42,809 INFO L290 TraceCheckUtils]: 13: Hoare triple {3493#true} ~cond := #in~cond; {3537#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:37:42,809 INFO L290 TraceCheckUtils]: 14: Hoare triple {3537#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3541#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:37:42,809 INFO L290 TraceCheckUtils]: 15: Hoare triple {3541#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3541#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:37:42,810 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3541#(not (= |assume_abort_if_not_#in~cond| 0))} {3493#true} #83#return; {3548#(<= (mod main_~B~0 4294967296) 2)} is VALID [2022-04-15 15:37:42,810 INFO L272 TraceCheckUtils]: 17: Hoare triple {3548#(<= (mod main_~B~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3493#true} is VALID [2022-04-15 15:37:42,810 INFO L290 TraceCheckUtils]: 18: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 15:37:42,810 INFO L290 TraceCheckUtils]: 19: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 15:37:42,810 INFO L290 TraceCheckUtils]: 20: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 15:37:42,811 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3493#true} {3548#(<= (mod main_~B~0 4294967296) 2)} #85#return; {3548#(<= (mod main_~B~0 4294967296) 2)} is VALID [2022-04-15 15:37:42,811 INFO L290 TraceCheckUtils]: 22: Hoare triple {3548#(<= (mod main_~B~0 4294967296) 2)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:37:42,812 INFO L290 TraceCheckUtils]: 23: Hoare triple {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:37:42,812 INFO L272 TraceCheckUtils]: 24: Hoare triple {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3493#true} is VALID [2022-04-15 15:37:42,812 INFO L290 TraceCheckUtils]: 25: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 15:37:42,812 INFO L290 TraceCheckUtils]: 26: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 15:37:42,812 INFO L290 TraceCheckUtils]: 27: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 15:37:42,813 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3493#true} {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #87#return; {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:37:42,813 INFO L272 TraceCheckUtils]: 29: Hoare triple {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3493#true} is VALID [2022-04-15 15:37:42,813 INFO L290 TraceCheckUtils]: 30: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 15:37:42,813 INFO L290 TraceCheckUtils]: 31: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 15:37:42,813 INFO L290 TraceCheckUtils]: 32: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 15:37:42,814 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3493#true} {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #89#return; {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:37:42,814 INFO L272 TraceCheckUtils]: 34: Hoare triple {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3493#true} is VALID [2022-04-15 15:37:42,814 INFO L290 TraceCheckUtils]: 35: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 15:37:42,814 INFO L290 TraceCheckUtils]: 36: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 15:37:42,814 INFO L290 TraceCheckUtils]: 37: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 15:37:42,815 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3493#true} {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #91#return; {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:37:42,815 INFO L290 TraceCheckUtils]: 39: Hoare triple {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:37:42,816 INFO L290 TraceCheckUtils]: 40: Hoare triple {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:37:42,816 INFO L272 TraceCheckUtils]: 41: Hoare triple {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3493#true} is VALID [2022-04-15 15:37:42,816 INFO L290 TraceCheckUtils]: 42: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 15:37:42,816 INFO L290 TraceCheckUtils]: 43: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 15:37:42,816 INFO L290 TraceCheckUtils]: 44: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 15:37:42,817 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3493#true} {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:37:42,817 INFO L272 TraceCheckUtils]: 46: Hoare triple {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3493#true} is VALID [2022-04-15 15:37:42,817 INFO L290 TraceCheckUtils]: 47: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 15:37:42,817 INFO L290 TraceCheckUtils]: 48: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 15:37:42,817 INFO L290 TraceCheckUtils]: 49: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 15:37:42,818 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3493#true} {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:37:42,818 INFO L272 TraceCheckUtils]: 51: Hoare triple {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3493#true} is VALID [2022-04-15 15:37:42,818 INFO L290 TraceCheckUtils]: 52: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 15:37:42,818 INFO L290 TraceCheckUtils]: 53: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 15:37:42,818 INFO L290 TraceCheckUtils]: 54: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 15:37:42,819 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3493#true} {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:37:42,819 INFO L290 TraceCheckUtils]: 56: Hoare triple {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {3671#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:37:42,820 INFO L290 TraceCheckUtils]: 57: Hoare triple {3671#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {3671#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:37:42,820 INFO L272 TraceCheckUtils]: 58: Hoare triple {3671#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3493#true} is VALID [2022-04-15 15:37:42,820 INFO L290 TraceCheckUtils]: 59: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 15:37:42,820 INFO L290 TraceCheckUtils]: 60: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 15:37:42,820 INFO L290 TraceCheckUtils]: 61: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 15:37:42,821 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {3493#true} {3671#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #93#return; {3671#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:37:42,821 INFO L272 TraceCheckUtils]: 63: Hoare triple {3671#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3493#true} is VALID [2022-04-15 15:37:42,821 INFO L290 TraceCheckUtils]: 64: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 15:37:42,821 INFO L290 TraceCheckUtils]: 65: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 15:37:42,821 INFO L290 TraceCheckUtils]: 66: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 15:37:42,821 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3493#true} {3671#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #95#return; {3671#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:37:42,822 INFO L290 TraceCheckUtils]: 68: Hoare triple {3671#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {3708#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-15 15:37:42,823 INFO L290 TraceCheckUtils]: 69: Hoare triple {3708#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {3712#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) 2) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} is VALID [2022-04-15 15:37:42,826 INFO L290 TraceCheckUtils]: 70: Hoare triple {3712#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) 2) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} assume !false; {3712#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) 2) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} is VALID [2022-04-15 15:37:42,830 INFO L272 TraceCheckUtils]: 71: Hoare triple {3712#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) 2) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3719#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:37:42,830 INFO L290 TraceCheckUtils]: 72: Hoare triple {3719#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3723#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:37:42,830 INFO L290 TraceCheckUtils]: 73: Hoare triple {3723#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3494#false} is VALID [2022-04-15 15:37:42,830 INFO L290 TraceCheckUtils]: 74: Hoare triple {3494#false} assume !false; {3494#false} is VALID [2022-04-15 15:37:42,831 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 19 proven. 10 refuted. 0 times theorem prover too weak. 118 trivial. 0 not checked. [2022-04-15 15:37:42,832 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:37:49,220 INFO L290 TraceCheckUtils]: 74: Hoare triple {3494#false} assume !false; {3494#false} is VALID [2022-04-15 15:37:49,220 INFO L290 TraceCheckUtils]: 73: Hoare triple {3723#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3494#false} is VALID [2022-04-15 15:37:49,221 INFO L290 TraceCheckUtils]: 72: Hoare triple {3719#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3723#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:37:49,221 INFO L272 TraceCheckUtils]: 71: Hoare triple {3739#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3719#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:37:49,222 INFO L290 TraceCheckUtils]: 70: Hoare triple {3739#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {3739#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-15 15:37:49,223 INFO L290 TraceCheckUtils]: 69: Hoare triple {3746#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {3739#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-15 15:37:49,235 INFO L290 TraceCheckUtils]: 68: Hoare triple {3750#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {3746#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} is VALID [2022-04-15 15:37:49,236 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3493#true} {3750#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #95#return; {3750#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-15 15:37:49,236 INFO L290 TraceCheckUtils]: 66: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 15:37:49,236 INFO L290 TraceCheckUtils]: 65: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 15:37:49,236 INFO L290 TraceCheckUtils]: 64: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 15:37:49,236 INFO L272 TraceCheckUtils]: 63: Hoare triple {3750#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3493#true} is VALID [2022-04-15 15:37:49,237 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {3493#true} {3750#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #93#return; {3750#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-15 15:37:49,237 INFO L290 TraceCheckUtils]: 61: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 15:37:49,237 INFO L290 TraceCheckUtils]: 60: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 15:37:49,237 INFO L290 TraceCheckUtils]: 59: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 15:37:49,237 INFO L272 TraceCheckUtils]: 58: Hoare triple {3750#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3493#true} is VALID [2022-04-15 15:37:49,238 INFO L290 TraceCheckUtils]: 57: Hoare triple {3750#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !false; {3750#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-15 15:37:49,239 INFO L290 TraceCheckUtils]: 56: Hoare triple {3787#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {3750#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-15 15:37:49,240 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3493#true} {3787#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #91#return; {3787#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:37:49,240 INFO L290 TraceCheckUtils]: 54: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 15:37:49,240 INFO L290 TraceCheckUtils]: 53: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 15:37:49,240 INFO L290 TraceCheckUtils]: 52: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 15:37:49,240 INFO L272 TraceCheckUtils]: 51: Hoare triple {3787#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3493#true} is VALID [2022-04-15 15:37:49,241 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3493#true} {3787#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #89#return; {3787#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:37:49,241 INFO L290 TraceCheckUtils]: 49: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 15:37:49,241 INFO L290 TraceCheckUtils]: 48: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 15:37:49,241 INFO L290 TraceCheckUtils]: 47: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 15:37:49,241 INFO L272 TraceCheckUtils]: 46: Hoare triple {3787#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3493#true} is VALID [2022-04-15 15:37:49,241 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3493#true} {3787#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #87#return; {3787#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:37:49,242 INFO L290 TraceCheckUtils]: 44: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 15:37:49,242 INFO L290 TraceCheckUtils]: 43: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 15:37:49,242 INFO L290 TraceCheckUtils]: 42: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 15:37:49,242 INFO L272 TraceCheckUtils]: 41: Hoare triple {3787#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3493#true} is VALID [2022-04-15 15:37:49,243 INFO L290 TraceCheckUtils]: 40: Hoare triple {3787#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} assume !false; {3787#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:37:49,246 INFO L290 TraceCheckUtils]: 39: Hoare triple {3839#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3787#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:37:49,247 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3493#true} {3839#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #91#return; {3839#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:37:49,247 INFO L290 TraceCheckUtils]: 37: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 15:37:49,247 INFO L290 TraceCheckUtils]: 36: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 15:37:49,247 INFO L290 TraceCheckUtils]: 35: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 15:37:49,247 INFO L272 TraceCheckUtils]: 34: Hoare triple {3839#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3493#true} is VALID [2022-04-15 15:37:49,248 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3493#true} {3839#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #89#return; {3839#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:37:49,248 INFO L290 TraceCheckUtils]: 32: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 15:37:49,248 INFO L290 TraceCheckUtils]: 31: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 15:37:49,248 INFO L290 TraceCheckUtils]: 30: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 15:37:49,248 INFO L272 TraceCheckUtils]: 29: Hoare triple {3839#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3493#true} is VALID [2022-04-15 15:37:49,248 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3493#true} {3839#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #87#return; {3839#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:37:49,248 INFO L290 TraceCheckUtils]: 27: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 15:37:49,249 INFO L290 TraceCheckUtils]: 26: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 15:37:49,249 INFO L290 TraceCheckUtils]: 25: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 15:37:49,249 INFO L272 TraceCheckUtils]: 24: Hoare triple {3839#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3493#true} is VALID [2022-04-15 15:37:49,249 INFO L290 TraceCheckUtils]: 23: Hoare triple {3839#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !false; {3839#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:37:49,250 INFO L290 TraceCheckUtils]: 22: Hoare triple {3493#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3839#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:37:49,250 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3493#true} {3493#true} #85#return; {3493#true} is VALID [2022-04-15 15:37:49,250 INFO L290 TraceCheckUtils]: 20: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 15:37:49,250 INFO L290 TraceCheckUtils]: 19: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 15:37:49,250 INFO L290 TraceCheckUtils]: 18: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 15:37:49,250 INFO L272 TraceCheckUtils]: 17: Hoare triple {3493#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3493#true} is VALID [2022-04-15 15:37:49,250 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3493#true} {3493#true} #83#return; {3493#true} is VALID [2022-04-15 15:37:49,251 INFO L290 TraceCheckUtils]: 15: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 15:37:49,251 INFO L290 TraceCheckUtils]: 14: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 15:37:49,251 INFO L290 TraceCheckUtils]: 13: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 15:37:49,251 INFO L272 TraceCheckUtils]: 12: Hoare triple {3493#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {3493#true} is VALID [2022-04-15 15:37:49,251 INFO L290 TraceCheckUtils]: 11: Hoare triple {3493#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3493#true} is VALID [2022-04-15 15:37:49,251 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3493#true} {3493#true} #81#return; {3493#true} is VALID [2022-04-15 15:37:49,251 INFO L290 TraceCheckUtils]: 9: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 15:37:49,251 INFO L290 TraceCheckUtils]: 8: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 15:37:49,251 INFO L290 TraceCheckUtils]: 7: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 15:37:49,251 INFO L272 TraceCheckUtils]: 6: Hoare triple {3493#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {3493#true} is VALID [2022-04-15 15:37:49,251 INFO L290 TraceCheckUtils]: 5: Hoare triple {3493#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {3493#true} is VALID [2022-04-15 15:37:49,251 INFO L272 TraceCheckUtils]: 4: Hoare triple {3493#true} call #t~ret6 := main(); {3493#true} is VALID [2022-04-15 15:37:49,251 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3493#true} {3493#true} #101#return; {3493#true} is VALID [2022-04-15 15:37:49,252 INFO L290 TraceCheckUtils]: 2: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 15:37:49,252 INFO L290 TraceCheckUtils]: 1: Hoare triple {3493#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(10, 2);call #Ultimate.allocInit(12, 3); {3493#true} is VALID [2022-04-15 15:37:49,252 INFO L272 TraceCheckUtils]: 0: Hoare triple {3493#true} call ULTIMATE.init(); {3493#true} is VALID [2022-04-15 15:37:49,252 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 124 trivial. 0 not checked. [2022-04-15 15:37:49,252 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:37:49,252 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [923980829] [2022-04-15 15:37:49,252 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:37:49,252 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1201825985] [2022-04-15 15:37:49,253 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1201825985] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:37:49,253 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:37:49,253 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 17 [2022-04-15 15:37:49,253 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:37:49,253 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1559086546] [2022-04-15 15:37:49,253 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1559086546] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:37:49,253 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:37:49,253 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-15 15:37:49,253 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1026327521] [2022-04-15 15:37:49,253 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:37:49,254 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 75 [2022-04-15 15:37:49,254 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:37:49,254 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-15 15:37:49,298 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-15 15:37:49,298 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-15 15:37:49,298 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:49,299 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-15 15:37:49,299 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=58, Invalid=214, Unknown=0, NotChecked=0, Total=272 [2022-04-15 15:37:49,299 INFO L87 Difference]: Start difference. First operand 71 states and 85 transitions. Second operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-15 15:37:50,535 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:50,535 INFO L93 Difference]: Finished difference Result 135 states and 165 transitions. [2022-04-15 15:37:50,535 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 15:37:50,535 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 75 [2022-04-15 15:37:50,535 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:37:50,535 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-15 15:37:50,555 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 102 transitions. [2022-04-15 15:37:50,555 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-15 15:37:50,557 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 102 transitions. [2022-04-15 15:37:50,557 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 102 transitions. [2022-04-15 15:37:50,649 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:50,651 INFO L225 Difference]: With dead ends: 135 [2022-04-15 15:37:50,651 INFO L226 Difference]: Without dead ends: 108 [2022-04-15 15:37:50,651 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 151 GetRequests, 133 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 69 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=66, Invalid=276, Unknown=0, NotChecked=0, Total=342 [2022-04-15 15:37:50,652 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 28 mSDsluCounter, 153 mSDsCounter, 0 mSdLazyCounter, 360 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 195 SdHoareTripleChecker+Invalid, 389 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 360 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-15 15:37:50,653 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [37 Valid, 195 Invalid, 389 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 360 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-15 15:37:50,653 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2022-04-15 15:37:50,745 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 106. [2022-04-15 15:37:50,745 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:37:50,746 INFO L82 GeneralOperation]: Start isEquivalent. First operand 108 states. Second operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 15:37:50,746 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 15:37:50,746 INFO L87 Difference]: Start difference. First operand 108 states. Second operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 15:37:50,749 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:50,749 INFO L93 Difference]: Finished difference Result 108 states and 128 transitions. [2022-04-15 15:37:50,749 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 128 transitions. [2022-04-15 15:37:50,749 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:50,749 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:50,750 INFO L74 IsIncluded]: Start isIncluded. First operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 108 states. [2022-04-15 15:37:50,750 INFO L87 Difference]: Start difference. First operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 108 states. [2022-04-15 15:37:50,752 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:50,752 INFO L93 Difference]: Finished difference Result 108 states and 128 transitions. [2022-04-15 15:37:50,752 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 128 transitions. [2022-04-15 15:37:50,753 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:50,753 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:50,753 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:37:50,753 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:37:50,754 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 15:37:50,756 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 125 transitions. [2022-04-15 15:37:50,756 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 125 transitions. Word has length 75 [2022-04-15 15:37:50,756 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:37:50,756 INFO L478 AbstractCegarLoop]: Abstraction has 106 states and 125 transitions. [2022-04-15 15:37:50,756 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-15 15:37:50,756 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 106 states and 125 transitions. [2022-04-15 15:37:50,908 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 125 edges. 125 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:50,908 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 125 transitions. [2022-04-15 15:37:50,909 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-15 15:37:50,909 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:37:50,909 INFO L499 BasicCegarLoop]: trace histogram [10, 9, 9, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:37:50,926 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-15 15:37:51,109 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:37:51,110 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:37:51,110 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:37:51,110 INFO L85 PathProgramCache]: Analyzing trace with hash -1566820819, now seen corresponding path program 3 times [2022-04-15 15:37:51,110 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:51,110 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [696983705] [2022-04-15 15:37:51,110 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:37:51,110 INFO L85 PathProgramCache]: Analyzing trace with hash -1566820819, now seen corresponding path program 4 times [2022-04-15 15:37:51,111 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:37:51,111 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [344220259] [2022-04-15 15:37:51,111 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:37:51,111 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:37:51,120 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:37:51,120 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1450050660] [2022-04-15 15:37:51,120 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 15:37:51,120 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:37:51,120 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:37:51,121 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-15 15:37:51,122 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-15 15:37:51,162 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 15:37:51,162 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:37:51,163 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-15 15:37:51,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:51,177 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:37:53,035 INFO L272 TraceCheckUtils]: 0: Hoare triple {4661#true} call ULTIMATE.init(); {4661#true} is VALID [2022-04-15 15:37:53,036 INFO L290 TraceCheckUtils]: 1: Hoare triple {4661#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(10, 2);call #Ultimate.allocInit(12, 3); {4661#true} is VALID [2022-04-15 15:37:53,036 INFO L290 TraceCheckUtils]: 2: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 15:37:53,036 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4661#true} {4661#true} #101#return; {4661#true} is VALID [2022-04-15 15:37:53,036 INFO L272 TraceCheckUtils]: 4: Hoare triple {4661#true} call #t~ret6 := main(); {4661#true} is VALID [2022-04-15 15:37:53,036 INFO L290 TraceCheckUtils]: 5: Hoare triple {4661#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {4661#true} is VALID [2022-04-15 15:37:53,036 INFO L272 TraceCheckUtils]: 6: Hoare triple {4661#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {4661#true} is VALID [2022-04-15 15:37:53,036 INFO L290 TraceCheckUtils]: 7: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 15:37:53,036 INFO L290 TraceCheckUtils]: 8: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 15:37:53,036 INFO L290 TraceCheckUtils]: 9: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 15:37:53,037 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4661#true} {4661#true} #81#return; {4661#true} is VALID [2022-04-15 15:37:53,037 INFO L290 TraceCheckUtils]: 11: Hoare triple {4661#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {4661#true} is VALID [2022-04-15 15:37:53,037 INFO L272 TraceCheckUtils]: 12: Hoare triple {4661#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {4661#true} is VALID [2022-04-15 15:37:53,037 INFO L290 TraceCheckUtils]: 13: Hoare triple {4661#true} ~cond := #in~cond; {4705#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:37:53,037 INFO L290 TraceCheckUtils]: 14: Hoare triple {4705#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4709#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:37:53,038 INFO L290 TraceCheckUtils]: 15: Hoare triple {4709#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4709#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:37:53,038 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4709#(not (= |assume_abort_if_not_#in~cond| 0))} {4661#true} #83#return; {4716#(<= (mod main_~B~0 4294967296) 2)} is VALID [2022-04-15 15:37:53,038 INFO L272 TraceCheckUtils]: 17: Hoare triple {4716#(<= (mod main_~B~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4661#true} is VALID [2022-04-15 15:37:53,038 INFO L290 TraceCheckUtils]: 18: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 15:37:53,038 INFO L290 TraceCheckUtils]: 19: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 15:37:53,038 INFO L290 TraceCheckUtils]: 20: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 15:37:53,039 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4661#true} {4716#(<= (mod main_~B~0 4294967296) 2)} #85#return; {4716#(<= (mod main_~B~0 4294967296) 2)} is VALID [2022-04-15 15:37:53,039 INFO L290 TraceCheckUtils]: 22: Hoare triple {4716#(<= (mod main_~B~0 4294967296) 2)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} is VALID [2022-04-15 15:37:53,040 INFO L290 TraceCheckUtils]: 23: Hoare triple {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} assume !false; {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} is VALID [2022-04-15 15:37:53,040 INFO L272 TraceCheckUtils]: 24: Hoare triple {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4661#true} is VALID [2022-04-15 15:37:53,040 INFO L290 TraceCheckUtils]: 25: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 15:37:53,040 INFO L290 TraceCheckUtils]: 26: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 15:37:53,040 INFO L290 TraceCheckUtils]: 27: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 15:37:53,040 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4661#true} {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} #87#return; {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} is VALID [2022-04-15 15:37:53,040 INFO L272 TraceCheckUtils]: 29: Hoare triple {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4661#true} is VALID [2022-04-15 15:37:53,040 INFO L290 TraceCheckUtils]: 30: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 15:37:53,041 INFO L290 TraceCheckUtils]: 31: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 15:37:53,041 INFO L290 TraceCheckUtils]: 32: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 15:37:53,041 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4661#true} {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} #89#return; {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} is VALID [2022-04-15 15:37:53,041 INFO L272 TraceCheckUtils]: 34: Hoare triple {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4661#true} is VALID [2022-04-15 15:37:53,041 INFO L290 TraceCheckUtils]: 35: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 15:37:53,041 INFO L290 TraceCheckUtils]: 36: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 15:37:53,041 INFO L290 TraceCheckUtils]: 37: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 15:37:53,042 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4661#true} {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} #91#return; {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} is VALID [2022-04-15 15:37:53,043 INFO L290 TraceCheckUtils]: 39: Hoare triple {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:37:53,043 INFO L290 TraceCheckUtils]: 40: Hoare triple {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:37:53,043 INFO L272 TraceCheckUtils]: 41: Hoare triple {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4661#true} is VALID [2022-04-15 15:37:53,043 INFO L290 TraceCheckUtils]: 42: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 15:37:53,044 INFO L290 TraceCheckUtils]: 43: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 15:37:53,044 INFO L290 TraceCheckUtils]: 44: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 15:37:53,044 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4661#true} {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:37:53,044 INFO L272 TraceCheckUtils]: 46: Hoare triple {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4661#true} is VALID [2022-04-15 15:37:53,044 INFO L290 TraceCheckUtils]: 47: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 15:37:53,044 INFO L290 TraceCheckUtils]: 48: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 15:37:53,044 INFO L290 TraceCheckUtils]: 49: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 15:37:53,045 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4661#true} {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:37:53,045 INFO L272 TraceCheckUtils]: 51: Hoare triple {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4661#true} is VALID [2022-04-15 15:37:53,045 INFO L290 TraceCheckUtils]: 52: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 15:37:53,045 INFO L290 TraceCheckUtils]: 53: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 15:37:53,045 INFO L290 TraceCheckUtils]: 54: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 15:37:53,046 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4661#true} {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:37:53,047 INFO L290 TraceCheckUtils]: 56: Hoare triple {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {4839#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-15 15:37:53,047 INFO L290 TraceCheckUtils]: 57: Hoare triple {4839#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} assume !false; {4839#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-15 15:37:53,047 INFO L272 TraceCheckUtils]: 58: Hoare triple {4839#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4661#true} is VALID [2022-04-15 15:37:53,047 INFO L290 TraceCheckUtils]: 59: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 15:37:53,047 INFO L290 TraceCheckUtils]: 60: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 15:37:53,047 INFO L290 TraceCheckUtils]: 61: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 15:37:53,048 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4661#true} {4839#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} #93#return; {4839#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-15 15:37:53,048 INFO L272 TraceCheckUtils]: 63: Hoare triple {4839#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4661#true} is VALID [2022-04-15 15:37:53,048 INFO L290 TraceCheckUtils]: 64: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 15:37:53,048 INFO L290 TraceCheckUtils]: 65: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 15:37:53,048 INFO L290 TraceCheckUtils]: 66: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 15:37:53,049 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4661#true} {4839#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} #95#return; {4839#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-15 15:37:53,050 INFO L290 TraceCheckUtils]: 68: Hoare triple {4839#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {4876#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:53,050 INFO L290 TraceCheckUtils]: 69: Hoare triple {4876#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4876#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:53,051 INFO L290 TraceCheckUtils]: 70: Hoare triple {4876#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {4876#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:53,051 INFO L272 TraceCheckUtils]: 71: Hoare triple {4876#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4661#true} is VALID [2022-04-15 15:37:53,051 INFO L290 TraceCheckUtils]: 72: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 15:37:53,051 INFO L290 TraceCheckUtils]: 73: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 15:37:53,051 INFO L290 TraceCheckUtils]: 74: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 15:37:53,051 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4661#true} {4876#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #93#return; {4876#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:53,052 INFO L272 TraceCheckUtils]: 76: Hoare triple {4876#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4901#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:37:53,052 INFO L290 TraceCheckUtils]: 77: Hoare triple {4901#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4905#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:37:53,053 INFO L290 TraceCheckUtils]: 78: Hoare triple {4905#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4662#false} is VALID [2022-04-15 15:37:53,053 INFO L290 TraceCheckUtils]: 79: Hoare triple {4662#false} assume !false; {4662#false} is VALID [2022-04-15 15:37:53,053 INFO L134 CoverageAnalysis]: Checked inductivity of 182 backedges. 21 proven. 11 refuted. 0 times theorem prover too weak. 150 trivial. 0 not checked. [2022-04-15 15:37:53,053 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:37:59,371 INFO L290 TraceCheckUtils]: 79: Hoare triple {4662#false} assume !false; {4662#false} is VALID [2022-04-15 15:37:59,371 INFO L290 TraceCheckUtils]: 78: Hoare triple {4905#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4662#false} is VALID [2022-04-15 15:37:59,372 INFO L290 TraceCheckUtils]: 77: Hoare triple {4901#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4905#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:37:59,372 INFO L272 TraceCheckUtils]: 76: Hoare triple {4921#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4901#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:37:59,373 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4661#true} {4921#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #93#return; {4921#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:59,373 INFO L290 TraceCheckUtils]: 74: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 15:37:59,373 INFO L290 TraceCheckUtils]: 73: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 15:37:59,373 INFO L290 TraceCheckUtils]: 72: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 15:37:59,373 INFO L272 TraceCheckUtils]: 71: Hoare triple {4921#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4661#true} is VALID [2022-04-15 15:37:59,373 INFO L290 TraceCheckUtils]: 70: Hoare triple {4921#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {4921#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:59,373 INFO L290 TraceCheckUtils]: 69: Hoare triple {4921#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4921#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:59,385 INFO L290 TraceCheckUtils]: 68: Hoare triple {4946#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {4921#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:59,385 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4661#true} {4946#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} #95#return; {4946#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-15 15:37:59,385 INFO L290 TraceCheckUtils]: 66: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 15:37:59,386 INFO L290 TraceCheckUtils]: 65: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 15:37:59,386 INFO L290 TraceCheckUtils]: 64: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 15:37:59,386 INFO L272 TraceCheckUtils]: 63: Hoare triple {4946#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4661#true} is VALID [2022-04-15 15:37:59,386 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4661#true} {4946#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} #93#return; {4946#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-15 15:37:59,386 INFO L290 TraceCheckUtils]: 61: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 15:37:59,386 INFO L290 TraceCheckUtils]: 60: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 15:37:59,386 INFO L290 TraceCheckUtils]: 59: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 15:37:59,387 INFO L272 TraceCheckUtils]: 58: Hoare triple {4946#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4661#true} is VALID [2022-04-15 15:37:59,387 INFO L290 TraceCheckUtils]: 57: Hoare triple {4946#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} assume !false; {4946#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-15 15:37:59,388 INFO L290 TraceCheckUtils]: 56: Hoare triple {4983#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {4946#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-15 15:37:59,389 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4661#true} {4983#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #91#return; {4983#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:37:59,389 INFO L290 TraceCheckUtils]: 54: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 15:37:59,389 INFO L290 TraceCheckUtils]: 53: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 15:37:59,389 INFO L290 TraceCheckUtils]: 52: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 15:37:59,389 INFO L272 TraceCheckUtils]: 51: Hoare triple {4983#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4661#true} is VALID [2022-04-15 15:37:59,390 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4661#true} {4983#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #89#return; {4983#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:37:59,390 INFO L290 TraceCheckUtils]: 49: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 15:37:59,390 INFO L290 TraceCheckUtils]: 48: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 15:37:59,390 INFO L290 TraceCheckUtils]: 47: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 15:37:59,390 INFO L272 TraceCheckUtils]: 46: Hoare triple {4983#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4661#true} is VALID [2022-04-15 15:37:59,390 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4661#true} {4983#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #87#return; {4983#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:37:59,390 INFO L290 TraceCheckUtils]: 44: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 15:37:59,390 INFO L290 TraceCheckUtils]: 43: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 15:37:59,391 INFO L290 TraceCheckUtils]: 42: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 15:37:59,391 INFO L272 TraceCheckUtils]: 41: Hoare triple {4983#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4661#true} is VALID [2022-04-15 15:37:59,392 INFO L290 TraceCheckUtils]: 40: Hoare triple {4983#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} assume !false; {4983#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:37:59,395 INFO L290 TraceCheckUtils]: 39: Hoare triple {5035#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4983#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:37:59,395 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4661#true} {5035#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #91#return; {5035#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-15 15:37:59,395 INFO L290 TraceCheckUtils]: 37: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 15:37:59,396 INFO L290 TraceCheckUtils]: 36: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 15:37:59,396 INFO L290 TraceCheckUtils]: 35: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 15:37:59,396 INFO L272 TraceCheckUtils]: 34: Hoare triple {5035#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4661#true} is VALID [2022-04-15 15:37:59,396 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4661#true} {5035#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #89#return; {5035#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-15 15:37:59,396 INFO L290 TraceCheckUtils]: 32: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 15:37:59,396 INFO L290 TraceCheckUtils]: 31: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 15:37:59,396 INFO L290 TraceCheckUtils]: 30: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 15:37:59,396 INFO L272 TraceCheckUtils]: 29: Hoare triple {5035#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4661#true} is VALID [2022-04-15 15:37:59,397 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4661#true} {5035#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #87#return; {5035#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-15 15:37:59,397 INFO L290 TraceCheckUtils]: 27: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 15:37:59,397 INFO L290 TraceCheckUtils]: 26: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 15:37:59,397 INFO L290 TraceCheckUtils]: 25: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 15:37:59,397 INFO L272 TraceCheckUtils]: 24: Hoare triple {5035#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4661#true} is VALID [2022-04-15 15:37:59,397 INFO L290 TraceCheckUtils]: 23: Hoare triple {5035#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !false; {5035#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-15 15:37:59,398 INFO L290 TraceCheckUtils]: 22: Hoare triple {4661#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5035#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-15 15:37:59,398 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4661#true} {4661#true} #85#return; {4661#true} is VALID [2022-04-15 15:37:59,398 INFO L290 TraceCheckUtils]: 20: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 15:37:59,398 INFO L290 TraceCheckUtils]: 19: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 15:37:59,398 INFO L290 TraceCheckUtils]: 18: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 15:37:59,398 INFO L272 TraceCheckUtils]: 17: Hoare triple {4661#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4661#true} is VALID [2022-04-15 15:37:59,398 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4661#true} {4661#true} #83#return; {4661#true} is VALID [2022-04-15 15:37:59,398 INFO L290 TraceCheckUtils]: 15: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 15:37:59,398 INFO L290 TraceCheckUtils]: 14: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 15:37:59,399 INFO L290 TraceCheckUtils]: 13: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 15:37:59,399 INFO L272 TraceCheckUtils]: 12: Hoare triple {4661#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {4661#true} is VALID [2022-04-15 15:37:59,399 INFO L290 TraceCheckUtils]: 11: Hoare triple {4661#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {4661#true} is VALID [2022-04-15 15:37:59,399 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4661#true} {4661#true} #81#return; {4661#true} is VALID [2022-04-15 15:37:59,399 INFO L290 TraceCheckUtils]: 9: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 15:37:59,399 INFO L290 TraceCheckUtils]: 8: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 15:37:59,399 INFO L290 TraceCheckUtils]: 7: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 15:37:59,399 INFO L272 TraceCheckUtils]: 6: Hoare triple {4661#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {4661#true} is VALID [2022-04-15 15:37:59,399 INFO L290 TraceCheckUtils]: 5: Hoare triple {4661#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {4661#true} is VALID [2022-04-15 15:37:59,399 INFO L272 TraceCheckUtils]: 4: Hoare triple {4661#true} call #t~ret6 := main(); {4661#true} is VALID [2022-04-15 15:37:59,399 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4661#true} {4661#true} #101#return; {4661#true} is VALID [2022-04-15 15:37:59,399 INFO L290 TraceCheckUtils]: 2: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 15:37:59,399 INFO L290 TraceCheckUtils]: 1: Hoare triple {4661#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(10, 2);call #Ultimate.allocInit(12, 3); {4661#true} is VALID [2022-04-15 15:37:59,399 INFO L272 TraceCheckUtils]: 0: Hoare triple {4661#true} call ULTIMATE.init(); {4661#true} is VALID [2022-04-15 15:37:59,400 INFO L134 CoverageAnalysis]: Checked inductivity of 182 backedges. 18 proven. 8 refuted. 0 times theorem prover too weak. 156 trivial. 0 not checked. [2022-04-15 15:37:59,400 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:37:59,400 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [344220259] [2022-04-15 15:37:59,400 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:37:59,400 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1450050660] [2022-04-15 15:37:59,400 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1450050660] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:37:59,400 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:37:59,400 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 15 [2022-04-15 15:37:59,401 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:37:59,401 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [696983705] [2022-04-15 15:37:59,401 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [696983705] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:37:59,401 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:37:59,401 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 15:37:59,401 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [936023862] [2022-04-15 15:37:59,401 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:37:59,401 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Word has length 80 [2022-04-15 15:37:59,401 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:37:59,402 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-15 15:37:59,457 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:59,457 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 15:37:59,457 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:59,457 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 15:37:59,457 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=164, Unknown=0, NotChecked=0, Total=210 [2022-04-15 15:37:59,458 INFO L87 Difference]: Start difference. First operand 106 states and 125 transitions. Second operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-15 15:38:00,702 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:38:00,702 INFO L93 Difference]: Finished difference Result 133 states and 159 transitions. [2022-04-15 15:38:00,702 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 15:38:00,702 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Word has length 80 [2022-04-15 15:38:00,703 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:38:00,703 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-15 15:38:00,710 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 98 transitions. [2022-04-15 15:38:00,710 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-15 15:38:00,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 98 transitions. [2022-04-15 15:38:00,712 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 98 transitions. [2022-04-15 15:38:00,799 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:38:00,801 INFO L225 Difference]: With dead ends: 133 [2022-04-15 15:38:00,801 INFO L226 Difference]: Without dead ends: 110 [2022-04-15 15:38:00,801 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 162 GetRequests, 145 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 45 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=63, Invalid=243, Unknown=0, NotChecked=0, Total=306 [2022-04-15 15:38:00,801 INFO L913 BasicCegarLoop]: 48 mSDtfsCounter, 24 mSDsluCounter, 214 mSDsCounter, 0 mSdLazyCounter, 288 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 262 SdHoareTripleChecker+Invalid, 307 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 288 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-15 15:38:00,802 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [32 Valid, 262 Invalid, 307 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 288 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-15 15:38:00,802 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 110 states. [2022-04-15 15:38:00,875 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 110 to 110. [2022-04-15 15:38:00,876 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:38:00,876 INFO L82 GeneralOperation]: Start isEquivalent. First operand 110 states. Second operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 15:38:00,876 INFO L74 IsIncluded]: Start isIncluded. First operand 110 states. Second operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 15:38:00,876 INFO L87 Difference]: Start difference. First operand 110 states. Second operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 15:38:00,878 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:38:00,878 INFO L93 Difference]: Finished difference Result 110 states and 126 transitions. [2022-04-15 15:38:00,878 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 126 transitions. [2022-04-15 15:38:00,879 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:38:00,879 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:38:00,879 INFO L74 IsIncluded]: Start isIncluded. First operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 110 states. [2022-04-15 15:38:00,879 INFO L87 Difference]: Start difference. First operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 110 states. [2022-04-15 15:38:00,881 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:38:00,881 INFO L93 Difference]: Finished difference Result 110 states and 126 transitions. [2022-04-15 15:38:00,881 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 126 transitions. [2022-04-15 15:38:00,881 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:38:00,881 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:38:00,882 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:38:00,882 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:38:00,882 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 15:38:00,883 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 126 transitions. [2022-04-15 15:38:00,884 INFO L78 Accepts]: Start accepts. Automaton has 110 states and 126 transitions. Word has length 80 [2022-04-15 15:38:00,884 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:38:00,884 INFO L478 AbstractCegarLoop]: Abstraction has 110 states and 126 transitions. [2022-04-15 15:38:00,884 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-15 15:38:00,884 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 110 states and 126 transitions. [2022-04-15 15:38:01,023 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 126 edges. 126 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:38:01,023 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 126 transitions. [2022-04-15 15:38:01,024 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-15 15:38:01,024 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:38:01,024 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:38:01,042 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-15 15:38:01,240 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:38:01,241 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:38:01,241 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:38:01,241 INFO L85 PathProgramCache]: Analyzing trace with hash -815356955, now seen corresponding path program 1 times [2022-04-15 15:38:01,241 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:38:01,241 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1140525414] [2022-04-15 15:38:01,241 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:38:01,242 INFO L85 PathProgramCache]: Analyzing trace with hash -815356955, now seen corresponding path program 2 times [2022-04-15 15:38:01,242 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:38:01,242 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [73990010] [2022-04-15 15:38:01,242 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:38:01,242 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:38:01,252 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:38:01,253 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [27845497] [2022-04-15 15:38:01,253 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:38:01,253 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:38:01,253 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:38:01,259 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-15 15:38:01,260 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-15 15:38:01,300 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:38:01,300 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:38:01,301 INFO L263 TraceCheckSpWp]: Trace formula consists of 199 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-15 15:38:01,313 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:38:01,315 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:38:04,644 INFO L272 TraceCheckUtils]: 0: Hoare triple {5867#true} call ULTIMATE.init(); {5867#true} is VALID [2022-04-15 15:38:04,644 INFO L290 TraceCheckUtils]: 1: Hoare triple {5867#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(10, 2);call #Ultimate.allocInit(12, 3); {5867#true} is VALID [2022-04-15 15:38:04,644 INFO L290 TraceCheckUtils]: 2: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 15:38:04,644 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5867#true} {5867#true} #101#return; {5867#true} is VALID [2022-04-15 15:38:04,644 INFO L272 TraceCheckUtils]: 4: Hoare triple {5867#true} call #t~ret6 := main(); {5867#true} is VALID [2022-04-15 15:38:04,644 INFO L290 TraceCheckUtils]: 5: Hoare triple {5867#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {5867#true} is VALID [2022-04-15 15:38:04,644 INFO L272 TraceCheckUtils]: 6: Hoare triple {5867#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {5867#true} is VALID [2022-04-15 15:38:04,644 INFO L290 TraceCheckUtils]: 7: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 15:38:04,645 INFO L290 TraceCheckUtils]: 8: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 15:38:04,645 INFO L290 TraceCheckUtils]: 9: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 15:38:04,645 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5867#true} {5867#true} #81#return; {5867#true} is VALID [2022-04-15 15:38:04,645 INFO L290 TraceCheckUtils]: 11: Hoare triple {5867#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5867#true} is VALID [2022-04-15 15:38:04,645 INFO L272 TraceCheckUtils]: 12: Hoare triple {5867#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {5867#true} is VALID [2022-04-15 15:38:04,645 INFO L290 TraceCheckUtils]: 13: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 15:38:04,645 INFO L290 TraceCheckUtils]: 14: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 15:38:04,645 INFO L290 TraceCheckUtils]: 15: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 15:38:04,645 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5867#true} {5867#true} #83#return; {5867#true} is VALID [2022-04-15 15:38:04,645 INFO L272 TraceCheckUtils]: 17: Hoare triple {5867#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5867#true} is VALID [2022-04-15 15:38:04,645 INFO L290 TraceCheckUtils]: 18: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 15:38:04,645 INFO L290 TraceCheckUtils]: 19: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 15:38:04,645 INFO L290 TraceCheckUtils]: 20: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 15:38:04,646 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5867#true} {5867#true} #85#return; {5867#true} is VALID [2022-04-15 15:38:04,646 INFO L290 TraceCheckUtils]: 22: Hoare triple {5867#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} is VALID [2022-04-15 15:38:04,647 INFO L290 TraceCheckUtils]: 23: Hoare triple {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} assume !false; {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} is VALID [2022-04-15 15:38:04,647 INFO L272 TraceCheckUtils]: 24: Hoare triple {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5867#true} is VALID [2022-04-15 15:38:04,647 INFO L290 TraceCheckUtils]: 25: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 15:38:04,647 INFO L290 TraceCheckUtils]: 26: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 15:38:04,647 INFO L290 TraceCheckUtils]: 27: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 15:38:04,648 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5867#true} {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} #87#return; {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} is VALID [2022-04-15 15:38:04,648 INFO L272 TraceCheckUtils]: 29: Hoare triple {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5867#true} is VALID [2022-04-15 15:38:04,648 INFO L290 TraceCheckUtils]: 30: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 15:38:04,648 INFO L290 TraceCheckUtils]: 31: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 15:38:04,648 INFO L290 TraceCheckUtils]: 32: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 15:38:04,648 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5867#true} {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} #89#return; {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} is VALID [2022-04-15 15:38:04,648 INFO L272 TraceCheckUtils]: 34: Hoare triple {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5867#true} is VALID [2022-04-15 15:38:04,649 INFO L290 TraceCheckUtils]: 35: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 15:38:04,649 INFO L290 TraceCheckUtils]: 36: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 15:38:04,649 INFO L290 TraceCheckUtils]: 37: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 15:38:04,649 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5867#true} {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} #91#return; {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} is VALID [2022-04-15 15:38:04,650 INFO L290 TraceCheckUtils]: 39: Hoare triple {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-15 15:38:04,651 INFO L290 TraceCheckUtils]: 40: Hoare triple {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !false; {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-15 15:38:04,651 INFO L272 TraceCheckUtils]: 41: Hoare triple {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5867#true} is VALID [2022-04-15 15:38:04,651 INFO L290 TraceCheckUtils]: 42: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 15:38:04,651 INFO L290 TraceCheckUtils]: 43: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 15:38:04,651 INFO L290 TraceCheckUtils]: 44: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 15:38:04,651 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5867#true} {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #87#return; {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-15 15:38:04,651 INFO L272 TraceCheckUtils]: 46: Hoare triple {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5867#true} is VALID [2022-04-15 15:38:04,652 INFO L290 TraceCheckUtils]: 47: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 15:38:04,652 INFO L290 TraceCheckUtils]: 48: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 15:38:04,652 INFO L290 TraceCheckUtils]: 49: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 15:38:04,652 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5867#true} {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #89#return; {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-15 15:38:04,652 INFO L272 TraceCheckUtils]: 51: Hoare triple {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5867#true} is VALID [2022-04-15 15:38:04,652 INFO L290 TraceCheckUtils]: 52: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 15:38:04,652 INFO L290 TraceCheckUtils]: 53: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 15:38:04,652 INFO L290 TraceCheckUtils]: 54: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 15:38:04,653 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5867#true} {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #91#return; {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-15 15:38:04,653 INFO L290 TraceCheckUtils]: 56: Hoare triple {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {6042#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-15 15:38:04,654 INFO L290 TraceCheckUtils]: 57: Hoare triple {6042#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !false; {6042#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-15 15:38:04,654 INFO L272 TraceCheckUtils]: 58: Hoare triple {6042#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5867#true} is VALID [2022-04-15 15:38:04,654 INFO L290 TraceCheckUtils]: 59: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 15:38:04,654 INFO L290 TraceCheckUtils]: 60: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 15:38:04,654 INFO L290 TraceCheckUtils]: 61: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 15:38:04,655 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5867#true} {6042#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #93#return; {6042#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-15 15:38:04,655 INFO L272 TraceCheckUtils]: 63: Hoare triple {6042#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5867#true} is VALID [2022-04-15 15:38:04,655 INFO L290 TraceCheckUtils]: 64: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 15:38:04,655 INFO L290 TraceCheckUtils]: 65: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 15:38:04,655 INFO L290 TraceCheckUtils]: 66: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 15:38:04,656 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5867#true} {6042#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #95#return; {6042#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-15 15:38:04,657 INFO L290 TraceCheckUtils]: 68: Hoare triple {6042#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6079#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 (+ main_~r~0 1)) (< main_~r~0 (* main_~d~0 2)) (= main_~q~0 0))} is VALID [2022-04-15 15:38:04,658 INFO L290 TraceCheckUtils]: 69: Hoare triple {6079#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 (+ main_~r~0 1)) (< main_~r~0 (* main_~d~0 2)) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6083#(and (= main_~q~0 main_~p~0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} is VALID [2022-04-15 15:38:04,658 INFO L290 TraceCheckUtils]: 70: Hoare triple {6083#(and (= main_~q~0 main_~p~0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} assume !false; {6083#(and (= main_~q~0 main_~p~0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} is VALID [2022-04-15 15:38:04,658 INFO L272 TraceCheckUtils]: 71: Hoare triple {6083#(and (= main_~q~0 main_~p~0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5867#true} is VALID [2022-04-15 15:38:04,658 INFO L290 TraceCheckUtils]: 72: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 15:38:04,659 INFO L290 TraceCheckUtils]: 73: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 15:38:04,659 INFO L290 TraceCheckUtils]: 74: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 15:38:04,659 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5867#true} {6083#(and (= main_~q~0 main_~p~0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} #93#return; {6083#(and (= main_~q~0 main_~p~0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} is VALID [2022-04-15 15:38:04,659 INFO L272 TraceCheckUtils]: 76: Hoare triple {6083#(and (= main_~q~0 main_~p~0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5867#true} is VALID [2022-04-15 15:38:04,659 INFO L290 TraceCheckUtils]: 77: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 15:38:04,659 INFO L290 TraceCheckUtils]: 78: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 15:38:04,659 INFO L290 TraceCheckUtils]: 79: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 15:38:04,660 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {5867#true} {6083#(and (= main_~q~0 main_~p~0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} #95#return; {6083#(and (= main_~q~0 main_~p~0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} is VALID [2022-04-15 15:38:04,660 INFO L290 TraceCheckUtils]: 81: Hoare triple {6083#(and (= main_~q~0 main_~p~0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} assume !(1 != ~p~0); {6120#(and (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} is VALID [2022-04-15 15:38:04,661 INFO L272 TraceCheckUtils]: 82: Hoare triple {6120#(and (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6124#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:38:04,661 INFO L290 TraceCheckUtils]: 83: Hoare triple {6124#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6128#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:38:04,662 INFO L290 TraceCheckUtils]: 84: Hoare triple {6128#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5868#false} is VALID [2022-04-15 15:38:04,662 INFO L290 TraceCheckUtils]: 85: Hoare triple {5868#false} assume !false; {5868#false} is VALID [2022-04-15 15:38:04,662 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 20 proven. 9 refuted. 0 times theorem prover too weak. 192 trivial. 0 not checked. [2022-04-15 15:38:04,662 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:38:22,494 INFO L290 TraceCheckUtils]: 85: Hoare triple {5868#false} assume !false; {5868#false} is VALID [2022-04-15 15:38:22,495 INFO L290 TraceCheckUtils]: 84: Hoare triple {6128#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5868#false} is VALID [2022-04-15 15:38:22,495 INFO L290 TraceCheckUtils]: 83: Hoare triple {6124#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6128#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:38:22,496 INFO L272 TraceCheckUtils]: 82: Hoare triple {6144#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6124#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:38:22,496 INFO L290 TraceCheckUtils]: 81: Hoare triple {6148#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {6144#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-15 15:38:22,496 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {5867#true} {6148#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} #95#return; {6148#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-15 15:38:22,497 INFO L290 TraceCheckUtils]: 79: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 15:38:22,497 INFO L290 TraceCheckUtils]: 78: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 15:38:22,497 INFO L290 TraceCheckUtils]: 77: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 15:38:22,497 INFO L272 TraceCheckUtils]: 76: Hoare triple {6148#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5867#true} is VALID [2022-04-15 15:38:22,497 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5867#true} {6148#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} #93#return; {6148#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-15 15:38:22,497 INFO L290 TraceCheckUtils]: 74: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 15:38:22,497 INFO L290 TraceCheckUtils]: 73: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 15:38:22,498 INFO L290 TraceCheckUtils]: 72: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 15:38:22,498 INFO L272 TraceCheckUtils]: 71: Hoare triple {6148#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5867#true} is VALID [2022-04-15 15:38:22,498 INFO L290 TraceCheckUtils]: 70: Hoare triple {6148#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !false; {6148#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-15 15:38:22,500 INFO L290 TraceCheckUtils]: 69: Hoare triple {6144#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6148#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-15 15:38:22,504 INFO L290 TraceCheckUtils]: 68: Hoare triple {6188#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6144#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-15 15:38:22,505 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5867#true} {6188#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #95#return; {6188#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-15 15:38:22,505 INFO L290 TraceCheckUtils]: 66: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 15:38:22,505 INFO L290 TraceCheckUtils]: 65: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 15:38:22,505 INFO L290 TraceCheckUtils]: 64: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 15:38:22,505 INFO L272 TraceCheckUtils]: 63: Hoare triple {6188#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5867#true} is VALID [2022-04-15 15:38:22,505 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5867#true} {6188#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #93#return; {6188#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-15 15:38:22,505 INFO L290 TraceCheckUtils]: 61: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 15:38:22,506 INFO L290 TraceCheckUtils]: 60: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 15:38:22,506 INFO L290 TraceCheckUtils]: 59: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 15:38:22,506 INFO L272 TraceCheckUtils]: 58: Hoare triple {6188#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5867#true} is VALID [2022-04-15 15:38:22,506 INFO L290 TraceCheckUtils]: 57: Hoare triple {6188#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !false; {6188#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-15 15:38:22,507 INFO L290 TraceCheckUtils]: 56: Hoare triple {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {6188#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-15 15:38:22,508 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5867#true} {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} #91#return; {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:38:22,508 INFO L290 TraceCheckUtils]: 54: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 15:38:22,508 INFO L290 TraceCheckUtils]: 53: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 15:38:22,508 INFO L290 TraceCheckUtils]: 52: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 15:38:22,508 INFO L272 TraceCheckUtils]: 51: Hoare triple {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5867#true} is VALID [2022-04-15 15:38:22,508 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5867#true} {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} #89#return; {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:38:22,508 INFO L290 TraceCheckUtils]: 49: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 15:38:22,509 INFO L290 TraceCheckUtils]: 48: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 15:38:22,509 INFO L290 TraceCheckUtils]: 47: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 15:38:22,509 INFO L272 TraceCheckUtils]: 46: Hoare triple {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5867#true} is VALID [2022-04-15 15:38:22,509 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5867#true} {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} #87#return; {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:38:22,509 INFO L290 TraceCheckUtils]: 44: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 15:38:22,509 INFO L290 TraceCheckUtils]: 43: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 15:38:22,509 INFO L290 TraceCheckUtils]: 42: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 15:38:22,509 INFO L272 TraceCheckUtils]: 41: Hoare triple {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5867#true} is VALID [2022-04-15 15:38:22,510 INFO L290 TraceCheckUtils]: 40: Hoare triple {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} assume !false; {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:38:22,513 INFO L290 TraceCheckUtils]: 39: Hoare triple {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:38:22,513 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5867#true} {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #91#return; {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:38:22,513 INFO L290 TraceCheckUtils]: 37: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 15:38:22,513 INFO L290 TraceCheckUtils]: 36: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 15:38:22,513 INFO L290 TraceCheckUtils]: 35: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 15:38:22,514 INFO L272 TraceCheckUtils]: 34: Hoare triple {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5867#true} is VALID [2022-04-15 15:38:22,514 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5867#true} {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #89#return; {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:38:22,514 INFO L290 TraceCheckUtils]: 32: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 15:38:22,514 INFO L290 TraceCheckUtils]: 31: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 15:38:22,514 INFO L290 TraceCheckUtils]: 30: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 15:38:22,514 INFO L272 TraceCheckUtils]: 29: Hoare triple {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5867#true} is VALID [2022-04-15 15:38:22,515 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5867#true} {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #87#return; {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:38:22,515 INFO L290 TraceCheckUtils]: 27: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 15:38:22,515 INFO L290 TraceCheckUtils]: 26: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 15:38:22,515 INFO L290 TraceCheckUtils]: 25: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 15:38:22,515 INFO L272 TraceCheckUtils]: 24: Hoare triple {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5867#true} is VALID [2022-04-15 15:38:22,515 INFO L290 TraceCheckUtils]: 23: Hoare triple {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !false; {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:38:22,516 INFO L290 TraceCheckUtils]: 22: Hoare triple {5867#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:38:22,516 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5867#true} {5867#true} #85#return; {5867#true} is VALID [2022-04-15 15:38:22,516 INFO L290 TraceCheckUtils]: 20: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 15:38:22,516 INFO L290 TraceCheckUtils]: 19: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 15:38:22,516 INFO L290 TraceCheckUtils]: 18: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 15:38:22,516 INFO L272 TraceCheckUtils]: 17: Hoare triple {5867#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5867#true} is VALID [2022-04-15 15:38:22,516 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5867#true} {5867#true} #83#return; {5867#true} is VALID [2022-04-15 15:38:22,516 INFO L290 TraceCheckUtils]: 15: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 15:38:22,517 INFO L290 TraceCheckUtils]: 14: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 15:38:22,517 INFO L290 TraceCheckUtils]: 13: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 15:38:22,517 INFO L272 TraceCheckUtils]: 12: Hoare triple {5867#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {5867#true} is VALID [2022-04-15 15:38:22,517 INFO L290 TraceCheckUtils]: 11: Hoare triple {5867#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5867#true} is VALID [2022-04-15 15:38:22,517 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5867#true} {5867#true} #81#return; {5867#true} is VALID [2022-04-15 15:38:22,517 INFO L290 TraceCheckUtils]: 9: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 15:38:22,517 INFO L290 TraceCheckUtils]: 8: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 15:38:22,517 INFO L290 TraceCheckUtils]: 7: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 15:38:22,517 INFO L272 TraceCheckUtils]: 6: Hoare triple {5867#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {5867#true} is VALID [2022-04-15 15:38:22,517 INFO L290 TraceCheckUtils]: 5: Hoare triple {5867#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {5867#true} is VALID [2022-04-15 15:38:22,517 INFO L272 TraceCheckUtils]: 4: Hoare triple {5867#true} call #t~ret6 := main(); {5867#true} is VALID [2022-04-15 15:38:22,517 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5867#true} {5867#true} #101#return; {5867#true} is VALID [2022-04-15 15:38:22,517 INFO L290 TraceCheckUtils]: 2: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 15:38:22,517 INFO L290 TraceCheckUtils]: 1: Hoare triple {5867#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(10, 2);call #Ultimate.allocInit(12, 3); {5867#true} is VALID [2022-04-15 15:38:22,518 INFO L272 TraceCheckUtils]: 0: Hoare triple {5867#true} call ULTIMATE.init(); {5867#true} is VALID [2022-04-15 15:38:22,518 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 20 proven. 9 refuted. 0 times theorem prover too weak. 192 trivial. 0 not checked. [2022-04-15 15:38:22,518 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:38:22,518 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [73990010] [2022-04-15 15:38:22,518 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:38:22,518 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [27845497] [2022-04-15 15:38:22,518 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [27845497] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:38:22,518 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:38:22,518 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 15 [2022-04-15 15:38:22,519 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:38:22,519 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1140525414] [2022-04-15 15:38:22,519 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1140525414] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:38:22,519 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:38:22,519 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 15:38:22,519 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1081787851] [2022-04-15 15:38:22,519 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:38:22,519 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 86 [2022-04-15 15:38:22,520 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:38:22,520 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-15 15:38:22,569 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:38:22,569 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 15:38:22,569 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:38:22,570 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 15:38:22,570 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=153, Unknown=0, NotChecked=0, Total=210 [2022-04-15 15:38:22,570 INFO L87 Difference]: Start difference. First operand 110 states and 126 transitions. Second operand has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-15 15:38:24,513 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:38:24,513 INFO L93 Difference]: Finished difference Result 145 states and 170 transitions. [2022-04-15 15:38:24,513 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 15:38:24,513 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 86 [2022-04-15 15:38:24,513 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:38:24,513 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-15 15:38:24,515 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 94 transitions. [2022-04-15 15:38:24,515 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-15 15:38:24,516 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 94 transitions. [2022-04-15 15:38:24,516 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 94 transitions. [2022-04-15 15:38:24,601 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:38:24,603 INFO L225 Difference]: With dead ends: 145 [2022-04-15 15:38:24,603 INFO L226 Difference]: Without dead ends: 96 [2022-04-15 15:38:24,603 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 173 GetRequests, 156 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 47 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=68, Invalid=204, Unknown=0, NotChecked=0, Total=272 [2022-04-15 15:38:24,604 INFO L913 BasicCegarLoop]: 48 mSDtfsCounter, 10 mSDsluCounter, 188 mSDsCounter, 0 mSdLazyCounter, 250 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 236 SdHoareTripleChecker+Invalid, 264 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 250 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-15 15:38:24,605 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 236 Invalid, 264 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 250 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-15 15:38:24,605 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2022-04-15 15:38:24,697 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 89. [2022-04-15 15:38:24,698 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:38:24,698 INFO L82 GeneralOperation]: Start isEquivalent. First operand 96 states. Second operand has 89 states, 53 states have (on average 1.1132075471698113) internal successors, (59), 55 states have internal predecessors, (59), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 15:38:24,698 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand has 89 states, 53 states have (on average 1.1132075471698113) internal successors, (59), 55 states have internal predecessors, (59), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 15:38:24,698 INFO L87 Difference]: Start difference. First operand 96 states. Second operand has 89 states, 53 states have (on average 1.1132075471698113) internal successors, (59), 55 states have internal predecessors, (59), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 15:38:24,700 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:38:24,700 INFO L93 Difference]: Finished difference Result 96 states and 110 transitions. [2022-04-15 15:38:24,700 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 110 transitions. [2022-04-15 15:38:24,701 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:38:24,701 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:38:24,701 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 53 states have (on average 1.1132075471698113) internal successors, (59), 55 states have internal predecessors, (59), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) Second operand 96 states. [2022-04-15 15:38:24,701 INFO L87 Difference]: Start difference. First operand has 89 states, 53 states have (on average 1.1132075471698113) internal successors, (59), 55 states have internal predecessors, (59), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) Second operand 96 states. [2022-04-15 15:38:24,703 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:38:24,703 INFO L93 Difference]: Finished difference Result 96 states and 110 transitions. [2022-04-15 15:38:24,703 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 110 transitions. [2022-04-15 15:38:24,703 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:38:24,703 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:38:24,703 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:38:24,703 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:38:24,703 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 53 states have (on average 1.1132075471698113) internal successors, (59), 55 states have internal predecessors, (59), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 15:38:24,705 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 103 transitions. [2022-04-15 15:38:24,705 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 103 transitions. Word has length 86 [2022-04-15 15:38:24,705 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:38:24,705 INFO L478 AbstractCegarLoop]: Abstraction has 89 states and 103 transitions. [2022-04-15 15:38:24,705 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-15 15:38:24,706 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 89 states and 103 transitions. [2022-04-15 15:38:24,881 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:38:24,881 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 103 transitions. [2022-04-15 15:38:24,882 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-15 15:38:24,882 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:38:24,882 INFO L499 BasicCegarLoop]: trace histogram [12, 11, 11, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:38:24,913 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-15 15:38:25,082 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:38:25,083 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:38:25,083 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:38:25,083 INFO L85 PathProgramCache]: Analyzing trace with hash 1885636697, now seen corresponding path program 5 times [2022-04-15 15:38:25,083 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:38:25,083 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [167445181] [2022-04-15 15:38:25,083 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:38:25,083 INFO L85 PathProgramCache]: Analyzing trace with hash 1885636697, now seen corresponding path program 6 times [2022-04-15 15:38:25,083 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:38:25,084 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [42451577] [2022-04-15 15:38:25,084 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:38:25,084 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:38:25,093 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:38:25,093 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1509148540] [2022-04-15 15:38:25,093 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 15:38:25,093 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:38:25,093 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:38:25,109 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-15 15:38:25,110 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-15 15:38:25,161 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-15 15:38:25,161 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:38:25,161 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-15 15:38:25,177 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:38:25,179 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:39:48,896 INFO L272 TraceCheckUtils]: 0: Hoare triple {7061#true} call ULTIMATE.init(); {7061#true} is VALID [2022-04-15 15:39:48,896 INFO L290 TraceCheckUtils]: 1: Hoare triple {7061#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(10, 2);call #Ultimate.allocInit(12, 3); {7061#true} is VALID [2022-04-15 15:39:48,896 INFO L290 TraceCheckUtils]: 2: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 15:39:48,896 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7061#true} {7061#true} #101#return; {7061#true} is VALID [2022-04-15 15:39:48,896 INFO L272 TraceCheckUtils]: 4: Hoare triple {7061#true} call #t~ret6 := main(); {7061#true} is VALID [2022-04-15 15:39:48,896 INFO L290 TraceCheckUtils]: 5: Hoare triple {7061#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {7061#true} is VALID [2022-04-15 15:39:48,896 INFO L272 TraceCheckUtils]: 6: Hoare triple {7061#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {7061#true} is VALID [2022-04-15 15:39:48,896 INFO L290 TraceCheckUtils]: 7: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 15:39:48,896 INFO L290 TraceCheckUtils]: 8: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 15:39:48,896 INFO L290 TraceCheckUtils]: 9: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 15:39:48,896 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7061#true} {7061#true} #81#return; {7061#true} is VALID [2022-04-15 15:39:48,897 INFO L290 TraceCheckUtils]: 11: Hoare triple {7061#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {7061#true} is VALID [2022-04-15 15:39:48,897 INFO L272 TraceCheckUtils]: 12: Hoare triple {7061#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {7061#true} is VALID [2022-04-15 15:39:48,897 INFO L290 TraceCheckUtils]: 13: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 15:39:48,897 INFO L290 TraceCheckUtils]: 14: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 15:39:48,897 INFO L290 TraceCheckUtils]: 15: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 15:39:48,897 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7061#true} {7061#true} #83#return; {7061#true} is VALID [2022-04-15 15:39:48,897 INFO L272 TraceCheckUtils]: 17: Hoare triple {7061#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {7061#true} is VALID [2022-04-15 15:39:48,897 INFO L290 TraceCheckUtils]: 18: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 15:39:48,897 INFO L290 TraceCheckUtils]: 19: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 15:39:48,897 INFO L290 TraceCheckUtils]: 20: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 15:39:48,897 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7061#true} {7061#true} #85#return; {7061#true} is VALID [2022-04-15 15:39:48,898 INFO L290 TraceCheckUtils]: 22: Hoare triple {7061#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:39:48,898 INFO L290 TraceCheckUtils]: 23: Hoare triple {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:39:48,898 INFO L272 TraceCheckUtils]: 24: Hoare triple {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7061#true} is VALID [2022-04-15 15:39:48,898 INFO L290 TraceCheckUtils]: 25: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 15:39:48,898 INFO L290 TraceCheckUtils]: 26: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 15:39:48,898 INFO L290 TraceCheckUtils]: 27: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 15:39:48,899 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7061#true} {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:39:48,899 INFO L272 TraceCheckUtils]: 29: Hoare triple {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7061#true} is VALID [2022-04-15 15:39:48,899 INFO L290 TraceCheckUtils]: 30: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 15:39:48,899 INFO L290 TraceCheckUtils]: 31: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 15:39:48,899 INFO L290 TraceCheckUtils]: 32: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 15:39:48,899 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7061#true} {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:39:48,900 INFO L272 TraceCheckUtils]: 34: Hoare triple {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7061#true} is VALID [2022-04-15 15:39:48,900 INFO L290 TraceCheckUtils]: 35: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 15:39:48,900 INFO L290 TraceCheckUtils]: 36: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 15:39:48,900 INFO L290 TraceCheckUtils]: 37: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 15:39:48,900 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7061#true} {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:39:48,901 INFO L290 TraceCheckUtils]: 39: Hoare triple {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:39:48,901 INFO L290 TraceCheckUtils]: 40: Hoare triple {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:39:48,901 INFO L272 TraceCheckUtils]: 41: Hoare triple {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7061#true} is VALID [2022-04-15 15:39:48,901 INFO L290 TraceCheckUtils]: 42: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 15:39:48,901 INFO L290 TraceCheckUtils]: 43: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 15:39:48,901 INFO L290 TraceCheckUtils]: 44: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 15:39:48,902 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {7061#true} {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:39:48,902 INFO L272 TraceCheckUtils]: 46: Hoare triple {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7061#true} is VALID [2022-04-15 15:39:48,902 INFO L290 TraceCheckUtils]: 47: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 15:39:48,902 INFO L290 TraceCheckUtils]: 48: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 15:39:48,902 INFO L290 TraceCheckUtils]: 49: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 15:39:48,902 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {7061#true} {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:39:48,902 INFO L272 TraceCheckUtils]: 51: Hoare triple {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7061#true} is VALID [2022-04-15 15:39:48,903 INFO L290 TraceCheckUtils]: 52: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 15:39:48,903 INFO L290 TraceCheckUtils]: 53: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 15:39:48,903 INFO L290 TraceCheckUtils]: 54: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 15:39:48,903 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {7061#true} {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:39:48,904 INFO L290 TraceCheckUtils]: 56: Hoare triple {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7235#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:39:48,904 INFO L290 TraceCheckUtils]: 57: Hoare triple {7235#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {7235#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:39:48,904 INFO L272 TraceCheckUtils]: 58: Hoare triple {7235#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7061#true} is VALID [2022-04-15 15:39:48,904 INFO L290 TraceCheckUtils]: 59: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 15:39:48,905 INFO L290 TraceCheckUtils]: 60: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 15:39:48,905 INFO L290 TraceCheckUtils]: 61: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 15:39:48,905 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {7061#true} {7235#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #87#return; {7235#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:39:48,905 INFO L272 TraceCheckUtils]: 63: Hoare triple {7235#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7061#true} is VALID [2022-04-15 15:39:48,905 INFO L290 TraceCheckUtils]: 64: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 15:39:48,905 INFO L290 TraceCheckUtils]: 65: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 15:39:48,905 INFO L290 TraceCheckUtils]: 66: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 15:39:48,906 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {7061#true} {7235#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #89#return; {7235#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:39:48,906 INFO L272 TraceCheckUtils]: 68: Hoare triple {7235#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7061#true} is VALID [2022-04-15 15:39:48,906 INFO L290 TraceCheckUtils]: 69: Hoare triple {7061#true} ~cond := #in~cond; {7275#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:39:48,907 INFO L290 TraceCheckUtils]: 70: Hoare triple {7275#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7279#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:39:48,907 INFO L290 TraceCheckUtils]: 71: Hoare triple {7279#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7279#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:39:48,907 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {7279#(not (= |__VERIFIER_assert_#in~cond| 0))} {7235#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #91#return; {7286#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:39:48,908 INFO L290 TraceCheckUtils]: 73: Hoare triple {7286#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !(~r~0 >= ~d~0); {7286#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:39:48,908 INFO L290 TraceCheckUtils]: 74: Hoare triple {7286#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {7286#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:39:48,908 INFO L272 TraceCheckUtils]: 75: Hoare triple {7286#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7061#true} is VALID [2022-04-15 15:39:48,908 INFO L290 TraceCheckUtils]: 76: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 15:39:48,909 INFO L290 TraceCheckUtils]: 77: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 15:39:48,909 INFO L290 TraceCheckUtils]: 78: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 15:39:48,909 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {7061#true} {7286#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #93#return; {7286#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:39:48,909 INFO L272 TraceCheckUtils]: 80: Hoare triple {7286#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7061#true} is VALID [2022-04-15 15:39:48,909 INFO L290 TraceCheckUtils]: 81: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 15:39:48,909 INFO L290 TraceCheckUtils]: 82: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 15:39:48,909 INFO L290 TraceCheckUtils]: 83: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 15:39:48,910 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {7061#true} {7286#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #95#return; {7286#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:39:48,914 INFO L290 TraceCheckUtils]: 85: Hoare triple {7286#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7326#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~q~0 0))} is VALID [2022-04-15 15:39:48,916 INFO L290 TraceCheckUtils]: 86: Hoare triple {7326#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:39:48,916 INFO L290 TraceCheckUtils]: 87: Hoare triple {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:39:48,916 INFO L272 TraceCheckUtils]: 88: Hoare triple {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7337#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:39:48,917 INFO L290 TraceCheckUtils]: 89: Hoare triple {7337#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7341#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:39:48,917 INFO L290 TraceCheckUtils]: 90: Hoare triple {7341#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7062#false} is VALID [2022-04-15 15:39:48,917 INFO L290 TraceCheckUtils]: 91: Hoare triple {7062#false} assume !false; {7062#false} is VALID [2022-04-15 15:39:48,917 INFO L134 CoverageAnalysis]: Checked inductivity of 271 backedges. 55 proven. 9 refuted. 0 times theorem prover too weak. 207 trivial. 0 not checked. [2022-04-15 15:39:48,918 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:40:12,491 WARN L855 $PredicateComparison]: unable to prove that (let ((.cse13 (mod c_main_~B~0 4294967296))) (or (let ((.cse2 (= (mod c_main_~p~0 2) 0)) (.cse12 (div c_main_~p~0 2))) (let ((.cse1 (* (+ c_main_~q~0 .cse12 1) .cse13)) (.cse3 (* (+ c_main_~q~0 .cse12) .cse13)) (.cse4 (not .cse2)) (.cse5 (mod c_main_~A~0 4294967296)) (.cse6 (div c_main_~d~0 2)) (.cse7 (* (- 1) c_main_~r~0)) (.cse9 (< c_main_~d~0 0)) (.cse8 (= (mod c_main_~d~0 2) 0))) (and (or (let ((.cse0 (+ .cse5 .cse6 .cse7 1))) (and (or (= .cse0 .cse1) .cse2) (or (= .cse0 .cse3) .cse4))) .cse8 (not .cse9)) (or (let ((.cse10 (+ .cse5 .cse6 .cse7)) (.cse11 (< c_main_~p~0 0))) (and (or (= .cse10 .cse1) .cse2 (not .cse11)) (or (= .cse10 .cse3) (and .cse4 .cse11)))) (and .cse9 (not .cse8)))))) (not (= c_main_~d~0 (* c_main_~p~0 .cse13))))) is different from true [2022-04-15 15:41:07,166 INFO L290 TraceCheckUtils]: 91: Hoare triple {7062#false} assume !false; {7062#false} is VALID [2022-04-15 15:41:07,166 INFO L290 TraceCheckUtils]: 90: Hoare triple {7341#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7062#false} is VALID [2022-04-15 15:41:07,167 INFO L290 TraceCheckUtils]: 89: Hoare triple {7337#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7341#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:41:07,167 INFO L272 TraceCheckUtils]: 88: Hoare triple {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7337#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:41:07,167 INFO L290 TraceCheckUtils]: 87: Hoare triple {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:41:07,169 INFO L290 TraceCheckUtils]: 86: Hoare triple {7363#(= (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) (+ (mod main_~A~0 4294967296) main_~d~0 (* (- 1) main_~r~0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:41:07,179 INFO L290 TraceCheckUtils]: 85: Hoare triple {7367#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7363#(= (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) (+ (mod main_~A~0 4294967296) main_~d~0 (* (- 1) main_~r~0)))} is VALID [2022-04-15 15:41:07,180 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {7061#true} {7367#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #95#return; {7367#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-15 15:41:07,180 INFO L290 TraceCheckUtils]: 83: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 15:41:07,180 INFO L290 TraceCheckUtils]: 82: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 15:41:07,180 INFO L290 TraceCheckUtils]: 81: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 15:41:07,180 INFO L272 TraceCheckUtils]: 80: Hoare triple {7367#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7061#true} is VALID [2022-04-15 15:41:07,181 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {7061#true} {7367#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #93#return; {7367#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-15 15:41:07,181 INFO L290 TraceCheckUtils]: 78: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 15:41:07,181 INFO L290 TraceCheckUtils]: 77: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 15:41:07,181 INFO L290 TraceCheckUtils]: 76: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 15:41:07,181 INFO L272 TraceCheckUtils]: 75: Hoare triple {7367#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7061#true} is VALID [2022-04-15 15:41:07,182 INFO L290 TraceCheckUtils]: 74: Hoare triple {7367#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !false; {7367#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-15 15:41:07,183 INFO L290 TraceCheckUtils]: 73: Hoare triple {7367#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !(~r~0 >= ~d~0); {7367#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-15 15:41:07,185 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {7279#(not (= |__VERIFIER_assert_#in~cond| 0))} {7407#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} #91#return; {7367#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-15 15:41:07,186 INFO L290 TraceCheckUtils]: 71: Hoare triple {7279#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7279#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:41:07,186 INFO L290 TraceCheckUtils]: 70: Hoare triple {7417#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7279#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:41:07,186 INFO L290 TraceCheckUtils]: 69: Hoare triple {7061#true} ~cond := #in~cond; {7417#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:41:07,186 INFO L272 TraceCheckUtils]: 68: Hoare triple {7407#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7061#true} is VALID [2022-04-15 15:41:07,187 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {7061#true} {7407#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} #89#return; {7407#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} is VALID [2022-04-15 15:41:07,187 INFO L290 TraceCheckUtils]: 66: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 15:41:07,187 INFO L290 TraceCheckUtils]: 65: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 15:41:07,187 INFO L290 TraceCheckUtils]: 64: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 15:41:07,187 INFO L272 TraceCheckUtils]: 63: Hoare triple {7407#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7061#true} is VALID [2022-04-15 15:41:07,187 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {7061#true} {7407#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} #87#return; {7407#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} is VALID [2022-04-15 15:41:07,188 INFO L290 TraceCheckUtils]: 61: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 15:41:07,188 INFO L290 TraceCheckUtils]: 60: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 15:41:07,188 INFO L290 TraceCheckUtils]: 59: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 15:41:07,188 INFO L272 TraceCheckUtils]: 58: Hoare triple {7407#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7061#true} is VALID [2022-04-15 15:41:07,189 INFO L290 TraceCheckUtils]: 57: Hoare triple {7407#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} assume !false; {7407#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} is VALID [2022-04-15 15:41:07,192 INFO L290 TraceCheckUtils]: 56: Hoare triple {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7407#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} is VALID [2022-04-15 15:41:07,192 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {7061#true} {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #91#return; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:41:07,193 INFO L290 TraceCheckUtils]: 54: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 15:41:07,193 INFO L290 TraceCheckUtils]: 53: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 15:41:07,193 INFO L290 TraceCheckUtils]: 52: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 15:41:07,193 INFO L272 TraceCheckUtils]: 51: Hoare triple {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7061#true} is VALID [2022-04-15 15:41:07,193 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {7061#true} {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #89#return; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:41:07,193 INFO L290 TraceCheckUtils]: 49: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 15:41:07,193 INFO L290 TraceCheckUtils]: 48: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 15:41:07,193 INFO L290 TraceCheckUtils]: 47: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 15:41:07,193 INFO L272 TraceCheckUtils]: 46: Hoare triple {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7061#true} is VALID [2022-04-15 15:41:07,194 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {7061#true} {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #87#return; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:41:07,194 INFO L290 TraceCheckUtils]: 44: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 15:41:07,194 INFO L290 TraceCheckUtils]: 43: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 15:41:07,194 INFO L290 TraceCheckUtils]: 42: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 15:41:07,194 INFO L272 TraceCheckUtils]: 41: Hoare triple {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7061#true} is VALID [2022-04-15 15:41:07,196 INFO L290 TraceCheckUtils]: 40: Hoare triple {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:41:07,196 INFO L290 TraceCheckUtils]: 39: Hoare triple {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:41:07,196 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7061#true} {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #91#return; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:41:07,196 INFO L290 TraceCheckUtils]: 37: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 15:41:07,197 INFO L290 TraceCheckUtils]: 36: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 15:41:07,197 INFO L290 TraceCheckUtils]: 35: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 15:41:07,197 INFO L272 TraceCheckUtils]: 34: Hoare triple {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7061#true} is VALID [2022-04-15 15:41:07,197 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7061#true} {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #89#return; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:41:07,197 INFO L290 TraceCheckUtils]: 32: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 15:41:07,197 INFO L290 TraceCheckUtils]: 31: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 15:41:07,197 INFO L290 TraceCheckUtils]: 30: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 15:41:07,197 INFO L272 TraceCheckUtils]: 29: Hoare triple {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7061#true} is VALID [2022-04-15 15:41:07,198 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7061#true} {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #87#return; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:41:07,198 INFO L290 TraceCheckUtils]: 27: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 15:41:07,198 INFO L290 TraceCheckUtils]: 26: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 15:41:07,198 INFO L290 TraceCheckUtils]: 25: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 15:41:07,198 INFO L272 TraceCheckUtils]: 24: Hoare triple {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7061#true} is VALID [2022-04-15 15:41:07,198 INFO L290 TraceCheckUtils]: 23: Hoare triple {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:41:07,199 INFO L290 TraceCheckUtils]: 22: Hoare triple {7061#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:41:07,199 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7061#true} {7061#true} #85#return; {7061#true} is VALID [2022-04-15 15:41:07,199 INFO L290 TraceCheckUtils]: 20: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 15:41:07,199 INFO L290 TraceCheckUtils]: 19: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 15:41:07,199 INFO L290 TraceCheckUtils]: 18: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 15:41:07,199 INFO L272 TraceCheckUtils]: 17: Hoare triple {7061#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {7061#true} is VALID [2022-04-15 15:41:07,199 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7061#true} {7061#true} #83#return; {7061#true} is VALID [2022-04-15 15:41:07,199 INFO L290 TraceCheckUtils]: 15: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 15:41:07,199 INFO L290 TraceCheckUtils]: 14: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 15:41:07,199 INFO L290 TraceCheckUtils]: 13: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 15:41:07,199 INFO L272 TraceCheckUtils]: 12: Hoare triple {7061#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {7061#true} is VALID [2022-04-15 15:41:07,199 INFO L290 TraceCheckUtils]: 11: Hoare triple {7061#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {7061#true} is VALID [2022-04-15 15:41:07,200 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7061#true} {7061#true} #81#return; {7061#true} is VALID [2022-04-15 15:41:07,200 INFO L290 TraceCheckUtils]: 9: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 15:41:07,200 INFO L290 TraceCheckUtils]: 8: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 15:41:07,200 INFO L290 TraceCheckUtils]: 7: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 15:41:07,200 INFO L272 TraceCheckUtils]: 6: Hoare triple {7061#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {7061#true} is VALID [2022-04-15 15:41:07,200 INFO L290 TraceCheckUtils]: 5: Hoare triple {7061#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {7061#true} is VALID [2022-04-15 15:41:07,200 INFO L272 TraceCheckUtils]: 4: Hoare triple {7061#true} call #t~ret6 := main(); {7061#true} is VALID [2022-04-15 15:41:07,200 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7061#true} {7061#true} #101#return; {7061#true} is VALID [2022-04-15 15:41:07,200 INFO L290 TraceCheckUtils]: 2: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 15:41:07,200 INFO L290 TraceCheckUtils]: 1: Hoare triple {7061#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(10, 2);call #Ultimate.allocInit(12, 3); {7061#true} is VALID [2022-04-15 15:41:07,200 INFO L272 TraceCheckUtils]: 0: Hoare triple {7061#true} call ULTIMATE.init(); {7061#true} is VALID [2022-04-15 15:41:07,201 INFO L134 CoverageAnalysis]: Checked inductivity of 271 backedges. 45 proven. 11 refuted. 0 times theorem prover too weak. 207 trivial. 8 not checked. [2022-04-15 15:41:07,201 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:41:07,201 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [42451577] [2022-04-15 15:41:07,201 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:41:07,201 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1509148540] [2022-04-15 15:41:07,201 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1509148540] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:41:07,201 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:41:07,201 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 15 [2022-04-15 15:41:07,201 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:41:07,202 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [167445181] [2022-04-15 15:41:07,202 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [167445181] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:41:07,202 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:41:07,202 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 15:41:07,202 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1921734241] [2022-04-15 15:41:07,202 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:41:07,202 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 92 [2022-04-15 15:41:07,202 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:41:07,203 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 15:41:07,251 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:41:07,251 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 15:41:07,251 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:41:07,252 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 15:41:07,252 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=142, Unknown=1, NotChecked=24, Total=210 [2022-04-15 15:41:07,252 INFO L87 Difference]: Start difference. First operand 89 states and 103 transitions. Second operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 15:41:09,512 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-15 15:41:11,599 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=false, quantifiers [] [2022-04-15 15:41:13,616 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:41:13,617 INFO L93 Difference]: Finished difference Result 107 states and 121 transitions. [2022-04-15 15:41:13,617 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 15:41:13,617 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 92 [2022-04-15 15:41:13,617 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:41:13,617 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 15:41:13,618 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 81 transitions. [2022-04-15 15:41:13,619 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 15:41:13,620 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 81 transitions. [2022-04-15 15:41:13,620 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 81 transitions. [2022-04-15 15:41:13,703 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:41:13,705 INFO L225 Difference]: With dead ends: 107 [2022-04-15 15:41:13,705 INFO L226 Difference]: Without dead ends: 95 [2022-04-15 15:41:13,705 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 185 GetRequests, 167 SyntacticMatches, 3 SemanticMatches, 15 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 68 ImplicationChecksByTransitivity, 4.7s TimeCoverageRelationStatistics Valid=56, Invalid=187, Unknown=1, NotChecked=28, Total=272 [2022-04-15 15:41:13,705 INFO L913 BasicCegarLoop]: 37 mSDtfsCounter, 26 mSDsluCounter, 114 mSDsCounter, 0 mSdLazyCounter, 191 mSolverCounterSat, 34 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 151 SdHoareTripleChecker+Invalid, 227 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 34 IncrementalHoareTripleChecker+Valid, 191 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.1s IncrementalHoareTripleChecker+Time [2022-04-15 15:41:13,706 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [32 Valid, 151 Invalid, 227 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [34 Valid, 191 Invalid, 2 Unknown, 0 Unchecked, 5.1s Time] [2022-04-15 15:41:13,706 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 95 states. [2022-04-15 15:41:13,798 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 95 to 95. [2022-04-15 15:41:13,798 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:41:13,798 INFO L82 GeneralOperation]: Start isEquivalent. First operand 95 states. Second operand has 95 states, 57 states have (on average 1.087719298245614) internal successors, (62), 60 states have internal predecessors, (62), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 20 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-15 15:41:13,799 INFO L74 IsIncluded]: Start isIncluded. First operand 95 states. Second operand has 95 states, 57 states have (on average 1.087719298245614) internal successors, (62), 60 states have internal predecessors, (62), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 20 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-15 15:41:13,799 INFO L87 Difference]: Start difference. First operand 95 states. Second operand has 95 states, 57 states have (on average 1.087719298245614) internal successors, (62), 60 states have internal predecessors, (62), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 20 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-15 15:41:13,800 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:41:13,800 INFO L93 Difference]: Finished difference Result 95 states and 108 transitions. [2022-04-15 15:41:13,801 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 108 transitions. [2022-04-15 15:41:13,801 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:41:13,801 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:41:13,801 INFO L74 IsIncluded]: Start isIncluded. First operand has 95 states, 57 states have (on average 1.087719298245614) internal successors, (62), 60 states have internal predecessors, (62), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 20 states have call predecessors, (22), 22 states have call successors, (22) Second operand 95 states. [2022-04-15 15:41:13,801 INFO L87 Difference]: Start difference. First operand has 95 states, 57 states have (on average 1.087719298245614) internal successors, (62), 60 states have internal predecessors, (62), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 20 states have call predecessors, (22), 22 states have call successors, (22) Second operand 95 states. [2022-04-15 15:41:13,803 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:41:13,803 INFO L93 Difference]: Finished difference Result 95 states and 108 transitions. [2022-04-15 15:41:13,803 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 108 transitions. [2022-04-15 15:41:13,803 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:41:13,803 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:41:13,804 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:41:13,804 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:41:13,804 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 95 states, 57 states have (on average 1.087719298245614) internal successors, (62), 60 states have internal predecessors, (62), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 20 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-15 15:41:13,805 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 108 transitions. [2022-04-15 15:41:13,806 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 108 transitions. Word has length 92 [2022-04-15 15:41:13,806 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:41:13,806 INFO L478 AbstractCegarLoop]: Abstraction has 95 states and 108 transitions. [2022-04-15 15:41:13,806 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 15:41:13,806 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 95 states and 108 transitions. [2022-04-15 15:41:13,952 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:41:13,952 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 108 transitions. [2022-04-15 15:41:13,953 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 98 [2022-04-15 15:41:13,953 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:41:13,953 INFO L499 BasicCegarLoop]: trace histogram [13, 12, 12, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:41:13,974 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-15 15:41:14,153 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,SelfDestructingSolverStorable10 [2022-04-15 15:41:14,153 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:41:14,153 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:41:14,154 INFO L85 PathProgramCache]: Analyzing trace with hash -278824083, now seen corresponding path program 7 times [2022-04-15 15:41:14,154 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:41:14,154 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [891758681] [2022-04-15 15:41:14,154 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:41:14,154 INFO L85 PathProgramCache]: Analyzing trace with hash -278824083, now seen corresponding path program 8 times [2022-04-15 15:41:14,154 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:41:14,154 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [490812018] [2022-04-15 15:41:14,154 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:41:14,154 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:41:14,168 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:41:14,168 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [112353137] [2022-04-15 15:41:14,168 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:41:14,169 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:41:14,169 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:41:14,170 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-15 15:41:14,171 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-15 15:41:14,245 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:41:14,245 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:41:14,246 INFO L263 TraceCheckSpWp]: Trace formula consists of 221 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-15 15:41:14,260 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:41:14,261 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:41:17,433 INFO L272 TraceCheckUtils]: 0: Hoare triple {8225#true} call ULTIMATE.init(); {8225#true} is VALID [2022-04-15 15:41:17,433 INFO L290 TraceCheckUtils]: 1: Hoare triple {8225#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(10, 2);call #Ultimate.allocInit(12, 3); {8225#true} is VALID [2022-04-15 15:41:17,433 INFO L290 TraceCheckUtils]: 2: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 15:41:17,433 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8225#true} {8225#true} #101#return; {8225#true} is VALID [2022-04-15 15:41:17,434 INFO L272 TraceCheckUtils]: 4: Hoare triple {8225#true} call #t~ret6 := main(); {8225#true} is VALID [2022-04-15 15:41:17,434 INFO L290 TraceCheckUtils]: 5: Hoare triple {8225#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {8225#true} is VALID [2022-04-15 15:41:17,434 INFO L272 TraceCheckUtils]: 6: Hoare triple {8225#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {8225#true} is VALID [2022-04-15 15:41:17,434 INFO L290 TraceCheckUtils]: 7: Hoare triple {8225#true} ~cond := #in~cond; {8251#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:41:17,434 INFO L290 TraceCheckUtils]: 8: Hoare triple {8251#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {8255#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:41:17,435 INFO L290 TraceCheckUtils]: 9: Hoare triple {8255#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8255#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:41:17,435 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8255#(not (= |assume_abort_if_not_#in~cond| 0))} {8225#true} #81#return; {8262#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-15 15:41:17,435 INFO L290 TraceCheckUtils]: 11: Hoare triple {8262#(<= (mod main_~A~0 4294967296) 2)} ~B~0 := #t~nondet5;havoc #t~nondet5; {8262#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-15 15:41:17,435 INFO L272 TraceCheckUtils]: 12: Hoare triple {8262#(<= (mod main_~A~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {8225#true} is VALID [2022-04-15 15:41:17,435 INFO L290 TraceCheckUtils]: 13: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 15:41:17,436 INFO L290 TraceCheckUtils]: 14: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 15:41:17,436 INFO L290 TraceCheckUtils]: 15: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 15:41:17,436 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8225#true} {8262#(<= (mod main_~A~0 4294967296) 2)} #83#return; {8262#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-15 15:41:17,436 INFO L272 TraceCheckUtils]: 17: Hoare triple {8262#(<= (mod main_~A~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8225#true} is VALID [2022-04-15 15:41:17,436 INFO L290 TraceCheckUtils]: 18: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 15:41:17,436 INFO L290 TraceCheckUtils]: 19: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 15:41:17,436 INFO L290 TraceCheckUtils]: 20: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 15:41:17,437 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8225#true} {8262#(<= (mod main_~A~0 4294967296) 2)} #85#return; {8262#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-15 15:41:17,437 INFO L290 TraceCheckUtils]: 22: Hoare triple {8262#(<= (mod main_~A~0 4294967296) 2)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {8299#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 2) (= main_~p~0 1))} is VALID [2022-04-15 15:41:17,437 INFO L290 TraceCheckUtils]: 23: Hoare triple {8299#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 2) (= main_~p~0 1))} assume !false; {8299#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 2) (= main_~p~0 1))} is VALID [2022-04-15 15:41:17,438 INFO L272 TraceCheckUtils]: 24: Hoare triple {8299#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 2) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 15:41:17,438 INFO L290 TraceCheckUtils]: 25: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 15:41:17,438 INFO L290 TraceCheckUtils]: 26: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 15:41:17,438 INFO L290 TraceCheckUtils]: 27: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 15:41:17,438 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8225#true} {8299#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 2) (= main_~p~0 1))} #87#return; {8299#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 2) (= main_~p~0 1))} is VALID [2022-04-15 15:41:17,438 INFO L272 TraceCheckUtils]: 29: Hoare triple {8299#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8225#true} is VALID [2022-04-15 15:41:17,439 INFO L290 TraceCheckUtils]: 30: Hoare triple {8225#true} ~cond := #in~cond; {8324#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:41:17,439 INFO L290 TraceCheckUtils]: 31: Hoare triple {8324#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:41:17,439 INFO L290 TraceCheckUtils]: 32: Hoare triple {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:41:17,441 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} {8299#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 2) (= main_~p~0 1))} #89#return; {8335#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2) (= main_~p~0 1))} is VALID [2022-04-15 15:41:17,441 INFO L272 TraceCheckUtils]: 34: Hoare triple {8335#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 15:41:17,441 INFO L290 TraceCheckUtils]: 35: Hoare triple {8225#true} ~cond := #in~cond; {8324#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:41:17,441 INFO L290 TraceCheckUtils]: 36: Hoare triple {8324#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:41:17,442 INFO L290 TraceCheckUtils]: 37: Hoare triple {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:41:17,442 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} {8335#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2) (= main_~p~0 1))} #91#return; {8335#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2) (= main_~p~0 1))} is VALID [2022-04-15 15:41:17,443 INFO L290 TraceCheckUtils]: 39: Hoare triple {8335#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} is VALID [2022-04-15 15:41:17,443 INFO L290 TraceCheckUtils]: 40: Hoare triple {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} assume !false; {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} is VALID [2022-04-15 15:41:17,443 INFO L272 TraceCheckUtils]: 41: Hoare triple {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 15:41:17,444 INFO L290 TraceCheckUtils]: 42: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 15:41:17,444 INFO L290 TraceCheckUtils]: 43: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 15:41:17,444 INFO L290 TraceCheckUtils]: 44: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 15:41:17,444 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8225#true} {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} #87#return; {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} is VALID [2022-04-15 15:41:17,444 INFO L272 TraceCheckUtils]: 46: Hoare triple {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8225#true} is VALID [2022-04-15 15:41:17,444 INFO L290 TraceCheckUtils]: 47: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 15:41:17,444 INFO L290 TraceCheckUtils]: 48: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 15:41:17,444 INFO L290 TraceCheckUtils]: 49: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 15:41:17,445 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8225#true} {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} #89#return; {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} is VALID [2022-04-15 15:41:17,445 INFO L272 TraceCheckUtils]: 51: Hoare triple {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 15:41:17,445 INFO L290 TraceCheckUtils]: 52: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 15:41:17,445 INFO L290 TraceCheckUtils]: 53: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 15:41:17,445 INFO L290 TraceCheckUtils]: 54: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 15:41:17,446 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8225#true} {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} #91#return; {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} is VALID [2022-04-15 15:41:17,447 INFO L290 TraceCheckUtils]: 56: Hoare triple {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} is VALID [2022-04-15 15:41:17,447 INFO L290 TraceCheckUtils]: 57: Hoare triple {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} assume !false; {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} is VALID [2022-04-15 15:41:17,447 INFO L272 TraceCheckUtils]: 58: Hoare triple {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 15:41:17,447 INFO L290 TraceCheckUtils]: 59: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 15:41:17,447 INFO L290 TraceCheckUtils]: 60: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 15:41:17,447 INFO L290 TraceCheckUtils]: 61: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 15:41:17,448 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {8225#true} {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} #87#return; {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} is VALID [2022-04-15 15:41:17,448 INFO L272 TraceCheckUtils]: 63: Hoare triple {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8225#true} is VALID [2022-04-15 15:41:17,448 INFO L290 TraceCheckUtils]: 64: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 15:41:17,448 INFO L290 TraceCheckUtils]: 65: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 15:41:17,448 INFO L290 TraceCheckUtils]: 66: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 15:41:17,449 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8225#true} {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} #89#return; {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} is VALID [2022-04-15 15:41:17,449 INFO L272 TraceCheckUtils]: 68: Hoare triple {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 15:41:17,449 INFO L290 TraceCheckUtils]: 69: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 15:41:17,449 INFO L290 TraceCheckUtils]: 70: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 15:41:17,449 INFO L290 TraceCheckUtils]: 71: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 15:41:17,449 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8225#true} {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} #91#return; {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} is VALID [2022-04-15 15:41:17,451 INFO L290 TraceCheckUtils]: 73: Hoare triple {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} assume !(~r~0 >= ~d~0); {8458#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-15 15:41:17,451 INFO L290 TraceCheckUtils]: 74: Hoare triple {8458#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} assume !false; {8458#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-15 15:41:17,451 INFO L272 TraceCheckUtils]: 75: Hoare triple {8458#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 15:41:17,451 INFO L290 TraceCheckUtils]: 76: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 15:41:17,451 INFO L290 TraceCheckUtils]: 77: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 15:41:17,451 INFO L290 TraceCheckUtils]: 78: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 15:41:17,467 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {8225#true} {8458#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} #93#return; {8458#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-15 15:41:17,467 INFO L272 TraceCheckUtils]: 80: Hoare triple {8458#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 15:41:17,467 INFO L290 TraceCheckUtils]: 81: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 15:41:17,468 INFO L290 TraceCheckUtils]: 82: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 15:41:17,468 INFO L290 TraceCheckUtils]: 83: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 15:41:17,468 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {8225#true} {8458#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} #95#return; {8458#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-15 15:41:17,469 INFO L290 TraceCheckUtils]: 85: Hoare triple {8458#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {8495#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-15 15:41:17,470 INFO L290 TraceCheckUtils]: 86: Hoare triple {8495#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8495#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-15 15:41:17,470 INFO L290 TraceCheckUtils]: 87: Hoare triple {8495#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} assume !false; {8495#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-15 15:41:17,470 INFO L272 TraceCheckUtils]: 88: Hoare triple {8495#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 15:41:17,470 INFO L290 TraceCheckUtils]: 89: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 15:41:17,470 INFO L290 TraceCheckUtils]: 90: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 15:41:17,470 INFO L290 TraceCheckUtils]: 91: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 15:41:17,471 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {8225#true} {8495#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} #93#return; {8495#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-15 15:41:17,471 INFO L272 TraceCheckUtils]: 93: Hoare triple {8495#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8520#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:41:17,472 INFO L290 TraceCheckUtils]: 94: Hoare triple {8520#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8524#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:41:17,472 INFO L290 TraceCheckUtils]: 95: Hoare triple {8524#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8226#false} is VALID [2022-04-15 15:41:17,472 INFO L290 TraceCheckUtils]: 96: Hoare triple {8226#false} assume !false; {8226#false} is VALID [2022-04-15 15:41:17,473 INFO L134 CoverageAnalysis]: Checked inductivity of 318 backedges. 28 proven. 80 refuted. 0 times theorem prover too weak. 210 trivial. 0 not checked. [2022-04-15 15:41:17,473 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:42:02,773 INFO L290 TraceCheckUtils]: 96: Hoare triple {8226#false} assume !false; {8226#false} is VALID [2022-04-15 15:42:02,773 INFO L290 TraceCheckUtils]: 95: Hoare triple {8524#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8226#false} is VALID [2022-04-15 15:42:02,774 INFO L290 TraceCheckUtils]: 94: Hoare triple {8520#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8524#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:42:02,774 INFO L272 TraceCheckUtils]: 93: Hoare triple {8540#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8520#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:42:02,775 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {8225#true} {8540#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #93#return; {8540#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:42:02,775 INFO L290 TraceCheckUtils]: 91: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 15:42:02,775 INFO L290 TraceCheckUtils]: 90: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 15:42:02,775 INFO L290 TraceCheckUtils]: 89: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 15:42:02,775 INFO L272 TraceCheckUtils]: 88: Hoare triple {8540#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 15:42:02,775 INFO L290 TraceCheckUtils]: 87: Hoare triple {8540#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {8540#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:42:02,776 INFO L290 TraceCheckUtils]: 86: Hoare triple {8540#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8540#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:42:02,789 INFO L290 TraceCheckUtils]: 85: Hoare triple {8565#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {8540#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:42:02,790 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {8225#true} {8565#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #95#return; {8565#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-15 15:42:02,790 INFO L290 TraceCheckUtils]: 83: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 15:42:02,790 INFO L290 TraceCheckUtils]: 82: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 15:42:02,790 INFO L290 TraceCheckUtils]: 81: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 15:42:02,790 INFO L272 TraceCheckUtils]: 80: Hoare triple {8565#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 15:42:02,790 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {8225#true} {8565#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #93#return; {8565#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-15 15:42:02,790 INFO L290 TraceCheckUtils]: 78: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 15:42:02,791 INFO L290 TraceCheckUtils]: 77: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 15:42:02,791 INFO L290 TraceCheckUtils]: 76: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 15:42:02,791 INFO L272 TraceCheckUtils]: 75: Hoare triple {8565#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 15:42:02,792 INFO L290 TraceCheckUtils]: 74: Hoare triple {8565#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} assume !false; {8565#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-15 15:42:02,793 INFO L290 TraceCheckUtils]: 73: Hoare triple {8602#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} assume !(~r~0 >= ~d~0); {8565#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-15 15:42:02,793 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8225#true} {8602#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #91#return; {8602#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-15 15:42:02,793 INFO L290 TraceCheckUtils]: 71: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 15:42:02,793 INFO L290 TraceCheckUtils]: 70: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 15:42:02,793 INFO L290 TraceCheckUtils]: 69: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 15:42:02,793 INFO L272 TraceCheckUtils]: 68: Hoare triple {8602#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 15:42:02,794 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8225#true} {8602#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #89#return; {8602#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-15 15:42:02,794 INFO L290 TraceCheckUtils]: 66: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 15:42:02,794 INFO L290 TraceCheckUtils]: 65: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 15:42:02,794 INFO L290 TraceCheckUtils]: 64: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 15:42:02,794 INFO L272 TraceCheckUtils]: 63: Hoare triple {8602#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8225#true} is VALID [2022-04-15 15:42:02,795 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {8225#true} {8602#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #87#return; {8602#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-15 15:42:02,795 INFO L290 TraceCheckUtils]: 61: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 15:42:02,795 INFO L290 TraceCheckUtils]: 60: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 15:42:02,795 INFO L290 TraceCheckUtils]: 59: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 15:42:02,795 INFO L272 TraceCheckUtils]: 58: Hoare triple {8602#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 15:42:02,796 INFO L290 TraceCheckUtils]: 57: Hoare triple {8602#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} assume !false; {8602#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-15 15:42:02,799 INFO L290 TraceCheckUtils]: 56: Hoare triple {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8602#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-15 15:42:02,800 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8225#true} {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #91#return; {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-15 15:42:02,800 INFO L290 TraceCheckUtils]: 54: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 15:42:02,800 INFO L290 TraceCheckUtils]: 53: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 15:42:02,800 INFO L290 TraceCheckUtils]: 52: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 15:42:02,800 INFO L272 TraceCheckUtils]: 51: Hoare triple {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 15:42:02,801 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8225#true} {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #89#return; {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-15 15:42:02,801 INFO L290 TraceCheckUtils]: 49: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 15:42:02,801 INFO L290 TraceCheckUtils]: 48: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 15:42:02,801 INFO L290 TraceCheckUtils]: 47: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 15:42:02,801 INFO L272 TraceCheckUtils]: 46: Hoare triple {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8225#true} is VALID [2022-04-15 15:42:02,801 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8225#true} {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #87#return; {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-15 15:42:02,802 INFO L290 TraceCheckUtils]: 44: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 15:42:02,802 INFO L290 TraceCheckUtils]: 43: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 15:42:02,802 INFO L290 TraceCheckUtils]: 42: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 15:42:02,802 INFO L272 TraceCheckUtils]: 41: Hoare triple {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 15:42:02,802 INFO L290 TraceCheckUtils]: 40: Hoare triple {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !false; {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-15 15:42:02,804 INFO L290 TraceCheckUtils]: 39: Hoare triple {8706#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-15 15:42:02,804 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} {8225#true} #91#return; {8706#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-15 15:42:02,805 INFO L290 TraceCheckUtils]: 37: Hoare triple {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:42:02,805 INFO L290 TraceCheckUtils]: 36: Hoare triple {8719#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:42:02,805 INFO L290 TraceCheckUtils]: 35: Hoare triple {8225#true} ~cond := #in~cond; {8719#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:42:02,805 INFO L272 TraceCheckUtils]: 34: Hoare triple {8225#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 15:42:02,805 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8225#true} {8225#true} #89#return; {8225#true} is VALID [2022-04-15 15:42:02,805 INFO L290 TraceCheckUtils]: 32: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 15:42:02,805 INFO L290 TraceCheckUtils]: 31: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 15:42:02,806 INFO L290 TraceCheckUtils]: 30: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 15:42:02,806 INFO L272 TraceCheckUtils]: 29: Hoare triple {8225#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8225#true} is VALID [2022-04-15 15:42:02,806 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8225#true} {8225#true} #87#return; {8225#true} is VALID [2022-04-15 15:42:02,806 INFO L290 TraceCheckUtils]: 27: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 15:42:02,806 INFO L290 TraceCheckUtils]: 26: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 15:42:02,806 INFO L290 TraceCheckUtils]: 25: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 15:42:02,806 INFO L272 TraceCheckUtils]: 24: Hoare triple {8225#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 15:42:02,806 INFO L290 TraceCheckUtils]: 23: Hoare triple {8225#true} assume !false; {8225#true} is VALID [2022-04-15 15:42:02,806 INFO L290 TraceCheckUtils]: 22: Hoare triple {8225#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {8225#true} is VALID [2022-04-15 15:42:02,806 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8225#true} {8225#true} #85#return; {8225#true} is VALID [2022-04-15 15:42:02,806 INFO L290 TraceCheckUtils]: 20: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 15:42:02,806 INFO L290 TraceCheckUtils]: 19: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 15:42:02,806 INFO L290 TraceCheckUtils]: 18: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 15:42:02,806 INFO L272 TraceCheckUtils]: 17: Hoare triple {8225#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8225#true} is VALID [2022-04-15 15:42:02,807 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8225#true} {8225#true} #83#return; {8225#true} is VALID [2022-04-15 15:42:02,807 INFO L290 TraceCheckUtils]: 15: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 15:42:02,807 INFO L290 TraceCheckUtils]: 14: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 15:42:02,807 INFO L290 TraceCheckUtils]: 13: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 15:42:02,807 INFO L272 TraceCheckUtils]: 12: Hoare triple {8225#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {8225#true} is VALID [2022-04-15 15:42:02,807 INFO L290 TraceCheckUtils]: 11: Hoare triple {8225#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {8225#true} is VALID [2022-04-15 15:42:02,807 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8225#true} {8225#true} #81#return; {8225#true} is VALID [2022-04-15 15:42:02,807 INFO L290 TraceCheckUtils]: 9: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 15:42:02,807 INFO L290 TraceCheckUtils]: 8: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 15:42:02,807 INFO L290 TraceCheckUtils]: 7: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 15:42:02,807 INFO L272 TraceCheckUtils]: 6: Hoare triple {8225#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {8225#true} is VALID [2022-04-15 15:42:02,807 INFO L290 TraceCheckUtils]: 5: Hoare triple {8225#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {8225#true} is VALID [2022-04-15 15:42:02,807 INFO L272 TraceCheckUtils]: 4: Hoare triple {8225#true} call #t~ret6 := main(); {8225#true} is VALID [2022-04-15 15:42:02,807 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8225#true} {8225#true} #101#return; {8225#true} is VALID [2022-04-15 15:42:02,808 INFO L290 TraceCheckUtils]: 2: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 15:42:02,808 INFO L290 TraceCheckUtils]: 1: Hoare triple {8225#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(10, 2);call #Ultimate.allocInit(12, 3); {8225#true} is VALID [2022-04-15 15:42:02,808 INFO L272 TraceCheckUtils]: 0: Hoare triple {8225#true} call ULTIMATE.init(); {8225#true} is VALID [2022-04-15 15:42:02,808 INFO L134 CoverageAnalysis]: Checked inductivity of 318 backedges. 37 proven. 38 refuted. 0 times theorem prover too weak. 243 trivial. 0 not checked. [2022-04-15 15:42:02,808 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:42:02,808 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [490812018] [2022-04-15 15:42:02,808 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:42:02,808 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [112353137] [2022-04-15 15:42:02,809 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [112353137] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:42:02,809 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:42:02,809 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 11] total 21 [2022-04-15 15:42:02,809 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:42:02,809 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [891758681] [2022-04-15 15:42:02,809 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [891758681] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:42:02,809 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:42:02,809 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-15 15:42:02,809 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1877892714] [2022-04-15 15:42:02,809 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:42:02,810 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) Word has length 97 [2022-04-15 15:42:02,810 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:42:02,810 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-04-15 15:42:02,879 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:42:02,880 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-15 15:42:02,880 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:42:02,880 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-15 15:42:02,880 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=346, Unknown=0, NotChecked=0, Total=420 [2022-04-15 15:42:02,880 INFO L87 Difference]: Start difference. First operand 95 states and 108 transitions. Second operand has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-04-15 15:42:06,478 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:42:06,478 INFO L93 Difference]: Finished difference Result 154 states and 184 transitions. [2022-04-15 15:42:06,478 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 15:42:06,478 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) Word has length 97 [2022-04-15 15:42:06,479 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:42:06,479 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-04-15 15:42:06,480 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 115 transitions. [2022-04-15 15:42:06,480 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-04-15 15:42:06,481 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 115 transitions. [2022-04-15 15:42:06,482 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 115 transitions. [2022-04-15 15:42:06,617 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:42:06,619 INFO L225 Difference]: With dead ends: 154 [2022-04-15 15:42:06,619 INFO L226 Difference]: Without dead ends: 129 [2022-04-15 15:42:06,619 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 201 GetRequests, 172 SyntacticMatches, 2 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 79 ImplicationChecksByTransitivity, 1.7s TimeCoverageRelationStatistics Valid=139, Invalid=673, Unknown=0, NotChecked=0, Total=812 [2022-04-15 15:42:06,620 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 36 mSDsluCounter, 234 mSDsCounter, 0 mSdLazyCounter, 661 mSolverCounterSat, 47 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 273 SdHoareTripleChecker+Invalid, 708 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 47 IncrementalHoareTripleChecker+Valid, 661 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.2s IncrementalHoareTripleChecker+Time [2022-04-15 15:42:06,620 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [44 Valid, 273 Invalid, 708 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [47 Valid, 661 Invalid, 0 Unknown, 0 Unchecked, 1.2s Time] [2022-04-15 15:42:06,620 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-04-15 15:42:06,814 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 129. [2022-04-15 15:42:06,815 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:42:06,815 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand has 129 states, 77 states have (on average 1.0909090909090908) internal successors, (84), 82 states have internal predecessors, (84), 35 states have call successors, (35), 17 states have call predecessors, (35), 16 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-15 15:42:06,815 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand has 129 states, 77 states have (on average 1.0909090909090908) internal successors, (84), 82 states have internal predecessors, (84), 35 states have call successors, (35), 17 states have call predecessors, (35), 16 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-15 15:42:06,815 INFO L87 Difference]: Start difference. First operand 129 states. Second operand has 129 states, 77 states have (on average 1.0909090909090908) internal successors, (84), 82 states have internal predecessors, (84), 35 states have call successors, (35), 17 states have call predecessors, (35), 16 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-15 15:42:06,818 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:42:06,818 INFO L93 Difference]: Finished difference Result 129 states and 151 transitions. [2022-04-15 15:42:06,818 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 151 transitions. [2022-04-15 15:42:06,818 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:42:06,818 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:42:06,818 INFO L74 IsIncluded]: Start isIncluded. First operand has 129 states, 77 states have (on average 1.0909090909090908) internal successors, (84), 82 states have internal predecessors, (84), 35 states have call successors, (35), 17 states have call predecessors, (35), 16 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) Second operand 129 states. [2022-04-15 15:42:06,818 INFO L87 Difference]: Start difference. First operand has 129 states, 77 states have (on average 1.0909090909090908) internal successors, (84), 82 states have internal predecessors, (84), 35 states have call successors, (35), 17 states have call predecessors, (35), 16 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) Second operand 129 states. [2022-04-15 15:42:06,821 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:42:06,821 INFO L93 Difference]: Finished difference Result 129 states and 151 transitions. [2022-04-15 15:42:06,821 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 151 transitions. [2022-04-15 15:42:06,821 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:42:06,821 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:42:06,821 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:42:06,821 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:42:06,821 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 129 states, 77 states have (on average 1.0909090909090908) internal successors, (84), 82 states have internal predecessors, (84), 35 states have call successors, (35), 17 states have call predecessors, (35), 16 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-15 15:42:06,823 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 129 states and 151 transitions. [2022-04-15 15:42:06,823 INFO L78 Accepts]: Start accepts. Automaton has 129 states and 151 transitions. Word has length 97 [2022-04-15 15:42:06,824 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:42:06,824 INFO L478 AbstractCegarLoop]: Abstraction has 129 states and 151 transitions. [2022-04-15 15:42:06,824 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-04-15 15:42:06,824 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 129 states and 151 transitions. [2022-04-15 15:42:07,060 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 151 edges. 151 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:42:07,060 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 151 transitions. [2022-04-15 15:42:07,061 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-15 15:42:07,061 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:42:07,061 INFO L499 BasicCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:42:07,077 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-04-15 15:42:07,261 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:42:07,262 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:42:07,262 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:42:07,262 INFO L85 PathProgramCache]: Analyzing trace with hash -367001023, now seen corresponding path program 9 times [2022-04-15 15:42:07,262 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:42:07,262 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1045656949] [2022-04-15 15:42:07,263 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:42:07,263 INFO L85 PathProgramCache]: Analyzing trace with hash -367001023, now seen corresponding path program 10 times [2022-04-15 15:42:07,263 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:42:07,263 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1644614308] [2022-04-15 15:42:07,263 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:42:07,263 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:42:07,272 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:42:07,272 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2075182552] [2022-04-15 15:42:07,272 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 15:42:07,272 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:42:07,272 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:42:07,273 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-15 15:42:07,275 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-15 15:42:07,321 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 15:42:07,321 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:42:07,322 INFO L263 TraceCheckSpWp]: Trace formula consists of 241 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-15 15:42:07,335 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:42:07,336 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:42:26,130 INFO L272 TraceCheckUtils]: 0: Hoare triple {9667#true} call ULTIMATE.init(); {9667#true} is VALID [2022-04-15 15:42:26,131 INFO L290 TraceCheckUtils]: 1: Hoare triple {9667#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(10, 2);call #Ultimate.allocInit(12, 3); {9667#true} is VALID [2022-04-15 15:42:26,131 INFO L290 TraceCheckUtils]: 2: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 15:42:26,131 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9667#true} {9667#true} #101#return; {9667#true} is VALID [2022-04-15 15:42:26,131 INFO L272 TraceCheckUtils]: 4: Hoare triple {9667#true} call #t~ret6 := main(); {9667#true} is VALID [2022-04-15 15:42:26,131 INFO L290 TraceCheckUtils]: 5: Hoare triple {9667#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {9667#true} is VALID [2022-04-15 15:42:26,131 INFO L272 TraceCheckUtils]: 6: Hoare triple {9667#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {9667#true} is VALID [2022-04-15 15:42:26,131 INFO L290 TraceCheckUtils]: 7: Hoare triple {9667#true} ~cond := #in~cond; {9693#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:42:26,132 INFO L290 TraceCheckUtils]: 8: Hoare triple {9693#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {9697#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:42:26,132 INFO L290 TraceCheckUtils]: 9: Hoare triple {9697#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {9697#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:42:26,132 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9697#(not (= |assume_abort_if_not_#in~cond| 0))} {9667#true} #81#return; {9704#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-15 15:42:26,133 INFO L290 TraceCheckUtils]: 11: Hoare triple {9704#(<= (mod main_~A~0 4294967296) 2)} ~B~0 := #t~nondet5;havoc #t~nondet5; {9704#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-15 15:42:26,133 INFO L272 TraceCheckUtils]: 12: Hoare triple {9704#(<= (mod main_~A~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {9667#true} is VALID [2022-04-15 15:42:26,133 INFO L290 TraceCheckUtils]: 13: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 15:42:26,133 INFO L290 TraceCheckUtils]: 14: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 15:42:26,133 INFO L290 TraceCheckUtils]: 15: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 15:42:26,133 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9667#true} {9704#(<= (mod main_~A~0 4294967296) 2)} #83#return; {9704#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-15 15:42:26,133 INFO L272 TraceCheckUtils]: 17: Hoare triple {9704#(<= (mod main_~A~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {9667#true} is VALID [2022-04-15 15:42:26,133 INFO L290 TraceCheckUtils]: 18: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 15:42:26,133 INFO L290 TraceCheckUtils]: 19: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 15:42:26,134 INFO L290 TraceCheckUtils]: 20: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 15:42:26,134 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9667#true} {9704#(<= (mod main_~A~0 4294967296) 2)} #85#return; {9704#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-15 15:42:26,136 INFO L290 TraceCheckUtils]: 22: Hoare triple {9704#(<= (mod main_~A~0 4294967296) 2)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} is VALID [2022-04-15 15:42:26,136 INFO L290 TraceCheckUtils]: 23: Hoare triple {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} assume !false; {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} is VALID [2022-04-15 15:42:26,136 INFO L272 TraceCheckUtils]: 24: Hoare triple {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 15:42:26,136 INFO L290 TraceCheckUtils]: 25: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 15:42:26,136 INFO L290 TraceCheckUtils]: 26: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 15:42:26,136 INFO L290 TraceCheckUtils]: 27: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 15:42:26,137 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {9667#true} {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} #87#return; {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} is VALID [2022-04-15 15:42:26,137 INFO L272 TraceCheckUtils]: 29: Hoare triple {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9667#true} is VALID [2022-04-15 15:42:26,137 INFO L290 TraceCheckUtils]: 30: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 15:42:26,137 INFO L290 TraceCheckUtils]: 31: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 15:42:26,137 INFO L290 TraceCheckUtils]: 32: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 15:42:26,137 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9667#true} {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} #89#return; {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} is VALID [2022-04-15 15:42:26,138 INFO L272 TraceCheckUtils]: 34: Hoare triple {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 15:42:26,138 INFO L290 TraceCheckUtils]: 35: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 15:42:26,138 INFO L290 TraceCheckUtils]: 36: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 15:42:26,138 INFO L290 TraceCheckUtils]: 37: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 15:42:26,138 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9667#true} {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} #91#return; {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} is VALID [2022-04-15 15:42:26,139 INFO L290 TraceCheckUtils]: 39: Hoare triple {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-15 15:42:26,139 INFO L290 TraceCheckUtils]: 40: Hoare triple {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} assume !false; {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-15 15:42:26,139 INFO L272 TraceCheckUtils]: 41: Hoare triple {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 15:42:26,140 INFO L290 TraceCheckUtils]: 42: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 15:42:26,140 INFO L290 TraceCheckUtils]: 43: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 15:42:26,140 INFO L290 TraceCheckUtils]: 44: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 15:42:26,140 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9667#true} {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} #87#return; {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-15 15:42:26,140 INFO L272 TraceCheckUtils]: 46: Hoare triple {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9667#true} is VALID [2022-04-15 15:42:26,140 INFO L290 TraceCheckUtils]: 47: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 15:42:26,140 INFO L290 TraceCheckUtils]: 48: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 15:42:26,140 INFO L290 TraceCheckUtils]: 49: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 15:42:26,141 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9667#true} {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} #89#return; {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-15 15:42:26,141 INFO L272 TraceCheckUtils]: 51: Hoare triple {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 15:42:26,141 INFO L290 TraceCheckUtils]: 52: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 15:42:26,141 INFO L290 TraceCheckUtils]: 53: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 15:42:26,141 INFO L290 TraceCheckUtils]: 54: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 15:42:26,141 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {9667#true} {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} #91#return; {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-15 15:42:26,143 INFO L290 TraceCheckUtils]: 56: Hoare triple {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-15 15:42:26,143 INFO L290 TraceCheckUtils]: 57: Hoare triple {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} assume !false; {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-15 15:42:26,143 INFO L272 TraceCheckUtils]: 58: Hoare triple {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 15:42:26,143 INFO L290 TraceCheckUtils]: 59: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 15:42:26,143 INFO L290 TraceCheckUtils]: 60: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 15:42:26,143 INFO L290 TraceCheckUtils]: 61: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 15:42:26,144 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {9667#true} {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} #87#return; {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-15 15:42:26,144 INFO L272 TraceCheckUtils]: 63: Hoare triple {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9667#true} is VALID [2022-04-15 15:42:26,144 INFO L290 TraceCheckUtils]: 64: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 15:42:26,144 INFO L290 TraceCheckUtils]: 65: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 15:42:26,144 INFO L290 TraceCheckUtils]: 66: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 15:42:26,144 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9667#true} {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} #89#return; {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-15 15:42:26,144 INFO L272 TraceCheckUtils]: 68: Hoare triple {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 15:42:26,145 INFO L290 TraceCheckUtils]: 69: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 15:42:26,145 INFO L290 TraceCheckUtils]: 70: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 15:42:26,145 INFO L290 TraceCheckUtils]: 71: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 15:42:26,145 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {9667#true} {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} #91#return; {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-15 15:42:26,145 INFO L290 TraceCheckUtils]: 73: Hoare triple {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} assume !(~r~0 >= ~d~0); {9897#(and (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-15 15:42:26,146 INFO L290 TraceCheckUtils]: 74: Hoare triple {9897#(and (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} assume !false; {9897#(and (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-15 15:42:26,146 INFO L272 TraceCheckUtils]: 75: Hoare triple {9897#(and (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 15:42:26,146 INFO L290 TraceCheckUtils]: 76: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 15:42:26,146 INFO L290 TraceCheckUtils]: 77: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 15:42:26,146 INFO L290 TraceCheckUtils]: 78: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 15:42:26,147 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {9667#true} {9897#(and (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} #93#return; {9897#(and (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-15 15:42:26,147 INFO L272 TraceCheckUtils]: 80: Hoare triple {9897#(and (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 15:42:26,147 INFO L290 TraceCheckUtils]: 81: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 15:42:26,147 INFO L290 TraceCheckUtils]: 82: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 15:42:26,147 INFO L290 TraceCheckUtils]: 83: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 15:42:26,147 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {9667#true} {9897#(and (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} #95#return; {9897#(and (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-15 15:42:26,149 INFO L290 TraceCheckUtils]: 85: Hoare triple {9897#(and (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9934#(and (< main_~d~0 (+ main_~r~0 1)) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-15 15:42:26,151 INFO L290 TraceCheckUtils]: 86: Hoare triple {9934#(and (< main_~d~0 (+ main_~r~0 1)) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9938#(and (< (div (+ (* (- 1) main_~d~0) 2 (* (- 1) main_~r~0)) (- 4294967296)) 1) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< 0 (+ main_~r~0 1)))} is VALID [2022-04-15 15:42:26,152 INFO L290 TraceCheckUtils]: 87: Hoare triple {9938#(and (< (div (+ (* (- 1) main_~d~0) 2 (* (- 1) main_~r~0)) (- 4294967296)) 1) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< 0 (+ main_~r~0 1)))} assume !false; {9938#(and (< (div (+ (* (- 1) main_~d~0) 2 (* (- 1) main_~r~0)) (- 4294967296)) 1) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< 0 (+ main_~r~0 1)))} is VALID [2022-04-15 15:42:26,152 INFO L272 TraceCheckUtils]: 88: Hoare triple {9938#(and (< (div (+ (* (- 1) main_~d~0) 2 (* (- 1) main_~r~0)) (- 4294967296)) 1) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< 0 (+ main_~r~0 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 15:42:26,152 INFO L290 TraceCheckUtils]: 89: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 15:42:26,152 INFO L290 TraceCheckUtils]: 90: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 15:42:26,152 INFO L290 TraceCheckUtils]: 91: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 15:42:26,152 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {9667#true} {9938#(and (< (div (+ (* (- 1) main_~d~0) 2 (* (- 1) main_~r~0)) (- 4294967296)) 1) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< 0 (+ main_~r~0 1)))} #93#return; {9938#(and (< (div (+ (* (- 1) main_~d~0) 2 (* (- 1) main_~r~0)) (- 4294967296)) 1) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< 0 (+ main_~r~0 1)))} is VALID [2022-04-15 15:42:26,152 INFO L272 TraceCheckUtils]: 93: Hoare triple {9938#(and (< (div (+ (* (- 1) main_~d~0) 2 (* (- 1) main_~r~0)) (- 4294967296)) 1) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< 0 (+ main_~r~0 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 15:42:26,152 INFO L290 TraceCheckUtils]: 94: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 15:42:26,153 INFO L290 TraceCheckUtils]: 95: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 15:42:26,153 INFO L290 TraceCheckUtils]: 96: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 15:42:26,153 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {9667#true} {9938#(and (< (div (+ (* (- 1) main_~d~0) 2 (* (- 1) main_~r~0)) (- 4294967296)) 1) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< 0 (+ main_~r~0 1)))} #95#return; {9938#(and (< (div (+ (* (- 1) main_~d~0) 2 (* (- 1) main_~r~0)) (- 4294967296)) 1) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< 0 (+ main_~r~0 1)))} is VALID [2022-04-15 15:42:26,156 INFO L290 TraceCheckUtils]: 98: Hoare triple {9938#(and (< (div (+ (* (- 1) main_~d~0) 2 (* (- 1) main_~r~0)) (- 4294967296)) 1) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< 0 (+ main_~r~0 1)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9975#(and (< (div (+ (div (+ 2 (* (- 1) main_~r~0)) 2) (* (- 1) (div (+ (* (- 1) main_~d~0) (div (+ (- 1) (* (- 1) main_~r~0)) 2)) (- 2)))) (- 2147483648)) 1) (< 0 (+ main_~r~0 1)) (< (div (+ (* (- 1) main_~d~0) (div (+ (- 1) (* (- 1) main_~r~0)) 2)) (- 2)) (+ main_~d~0 1)))} is VALID [2022-04-15 15:42:26,157 INFO L290 TraceCheckUtils]: 99: Hoare triple {9975#(and (< (div (+ (div (+ 2 (* (- 1) main_~r~0)) 2) (* (- 1) (div (+ (* (- 1) main_~d~0) (div (+ (- 1) (* (- 1) main_~r~0)) 2)) (- 2)))) (- 2147483648)) 1) (< 0 (+ main_~r~0 1)) (< (div (+ (* (- 1) main_~d~0) (div (+ (- 1) (* (- 1) main_~r~0)) 2)) (- 2)) (+ main_~d~0 1)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9668#false} is VALID [2022-04-15 15:42:26,157 INFO L290 TraceCheckUtils]: 100: Hoare triple {9668#false} assume !false; {9668#false} is VALID [2022-04-15 15:42:26,157 INFO L272 TraceCheckUtils]: 101: Hoare triple {9668#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9668#false} is VALID [2022-04-15 15:42:26,158 INFO L290 TraceCheckUtils]: 102: Hoare triple {9668#false} ~cond := #in~cond; {9668#false} is VALID [2022-04-15 15:42:26,158 INFO L290 TraceCheckUtils]: 103: Hoare triple {9668#false} assume 0 == ~cond; {9668#false} is VALID [2022-04-15 15:42:26,158 INFO L290 TraceCheckUtils]: 104: Hoare triple {9668#false} assume !false; {9668#false} is VALID [2022-04-15 15:42:26,158 INFO L134 CoverageAnalysis]: Checked inductivity of 374 backedges. 45 proven. 11 refuted. 0 times theorem prover too weak. 318 trivial. 0 not checked. [2022-04-15 15:42:26,158 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:42:27,605 INFO L290 TraceCheckUtils]: 104: Hoare triple {9668#false} assume !false; {9668#false} is VALID [2022-04-15 15:42:27,605 INFO L290 TraceCheckUtils]: 103: Hoare triple {9668#false} assume 0 == ~cond; {9668#false} is VALID [2022-04-15 15:42:27,605 INFO L290 TraceCheckUtils]: 102: Hoare triple {9668#false} ~cond := #in~cond; {9668#false} is VALID [2022-04-15 15:42:27,605 INFO L272 TraceCheckUtils]: 101: Hoare triple {9668#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9668#false} is VALID [2022-04-15 15:42:27,605 INFO L290 TraceCheckUtils]: 100: Hoare triple {9668#false} assume !false; {9668#false} is VALID [2022-04-15 15:42:27,605 INFO L290 TraceCheckUtils]: 99: Hoare triple {10009#(not (<= main_~d~0 main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9668#false} is VALID [2022-04-15 15:42:27,607 INFO L290 TraceCheckUtils]: 98: Hoare triple {10013#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {10009#(not (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:42:27,608 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {9667#true} {10013#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} #95#return; {10013#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} is VALID [2022-04-15 15:42:27,608 INFO L290 TraceCheckUtils]: 96: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 15:42:27,608 INFO L290 TraceCheckUtils]: 95: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 15:42:27,608 INFO L290 TraceCheckUtils]: 94: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 15:42:27,608 INFO L272 TraceCheckUtils]: 93: Hoare triple {10013#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 15:42:27,609 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {9667#true} {10013#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} #93#return; {10013#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} is VALID [2022-04-15 15:42:27,609 INFO L290 TraceCheckUtils]: 91: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 15:42:27,609 INFO L290 TraceCheckUtils]: 90: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 15:42:27,609 INFO L290 TraceCheckUtils]: 89: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 15:42:27,609 INFO L272 TraceCheckUtils]: 88: Hoare triple {10013#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 15:42:27,611 INFO L290 TraceCheckUtils]: 87: Hoare triple {10013#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} assume !false; {10013#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} is VALID [2022-04-15 15:42:27,612 INFO L290 TraceCheckUtils]: 86: Hoare triple {10050#(and (not (<= (+ main_~d~0 (div main_~d~0 2) 1) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10013#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} is VALID [2022-04-15 15:42:27,615 INFO L290 TraceCheckUtils]: 85: Hoare triple {10054#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {10050#(and (not (<= (+ main_~d~0 (div main_~d~0 2) 1) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))))} is VALID [2022-04-15 15:42:27,615 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {9667#true} {10054#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} #95#return; {10054#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} is VALID [2022-04-15 15:42:27,615 INFO L290 TraceCheckUtils]: 83: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 15:42:27,615 INFO L290 TraceCheckUtils]: 82: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 15:42:27,616 INFO L290 TraceCheckUtils]: 81: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 15:42:27,616 INFO L272 TraceCheckUtils]: 80: Hoare triple {10054#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 15:42:27,616 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {9667#true} {10054#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} #93#return; {10054#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} is VALID [2022-04-15 15:42:27,616 INFO L290 TraceCheckUtils]: 78: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 15:42:27,616 INFO L290 TraceCheckUtils]: 77: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 15:42:27,616 INFO L290 TraceCheckUtils]: 76: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 15:42:27,616 INFO L272 TraceCheckUtils]: 75: Hoare triple {10054#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 15:42:27,618 INFO L290 TraceCheckUtils]: 74: Hoare triple {10054#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} assume !false; {10054#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} is VALID [2022-04-15 15:42:27,619 INFO L290 TraceCheckUtils]: 73: Hoare triple {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {10054#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} is VALID [2022-04-15 15:42:27,620 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {9667#true} {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} #91#return; {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:42:27,620 INFO L290 TraceCheckUtils]: 71: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 15:42:27,620 INFO L290 TraceCheckUtils]: 70: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 15:42:27,620 INFO L290 TraceCheckUtils]: 69: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 15:42:27,620 INFO L272 TraceCheckUtils]: 68: Hoare triple {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 15:42:27,627 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9667#true} {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} #89#return; {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:42:27,628 INFO L290 TraceCheckUtils]: 66: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 15:42:27,628 INFO L290 TraceCheckUtils]: 65: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 15:42:27,628 INFO L290 TraceCheckUtils]: 64: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 15:42:27,628 INFO L272 TraceCheckUtils]: 63: Hoare triple {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9667#true} is VALID [2022-04-15 15:42:27,628 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {9667#true} {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} #87#return; {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:42:27,628 INFO L290 TraceCheckUtils]: 61: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 15:42:27,628 INFO L290 TraceCheckUtils]: 60: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 15:42:27,628 INFO L290 TraceCheckUtils]: 59: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 15:42:27,629 INFO L272 TraceCheckUtils]: 58: Hoare triple {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 15:42:27,629 INFO L290 TraceCheckUtils]: 57: Hoare triple {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} assume !false; {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:42:27,630 INFO L290 TraceCheckUtils]: 56: Hoare triple {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:42:27,631 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {9667#true} {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} #91#return; {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:42:27,631 INFO L290 TraceCheckUtils]: 54: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 15:42:27,631 INFO L290 TraceCheckUtils]: 53: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 15:42:27,631 INFO L290 TraceCheckUtils]: 52: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 15:42:27,631 INFO L272 TraceCheckUtils]: 51: Hoare triple {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 15:42:27,631 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9667#true} {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} #89#return; {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:42:27,632 INFO L290 TraceCheckUtils]: 49: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 15:42:27,632 INFO L290 TraceCheckUtils]: 48: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 15:42:27,632 INFO L290 TraceCheckUtils]: 47: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 15:42:27,632 INFO L272 TraceCheckUtils]: 46: Hoare triple {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9667#true} is VALID [2022-04-15 15:42:27,632 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9667#true} {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} #87#return; {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:42:27,632 INFO L290 TraceCheckUtils]: 44: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 15:42:27,632 INFO L290 TraceCheckUtils]: 43: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 15:42:27,632 INFO L290 TraceCheckUtils]: 42: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 15:42:27,632 INFO L272 TraceCheckUtils]: 41: Hoare triple {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 15:42:27,633 INFO L290 TraceCheckUtils]: 40: Hoare triple {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} assume !false; {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:42:27,634 INFO L290 TraceCheckUtils]: 39: Hoare triple {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:42:27,634 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9667#true} {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} #91#return; {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} is VALID [2022-04-15 15:42:27,634 INFO L290 TraceCheckUtils]: 37: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 15:42:27,634 INFO L290 TraceCheckUtils]: 36: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 15:42:27,634 INFO L290 TraceCheckUtils]: 35: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 15:42:27,634 INFO L272 TraceCheckUtils]: 34: Hoare triple {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 15:42:27,636 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9667#true} {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} #89#return; {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} is VALID [2022-04-15 15:42:27,636 INFO L290 TraceCheckUtils]: 32: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 15:42:27,636 INFO L290 TraceCheckUtils]: 31: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 15:42:27,636 INFO L290 TraceCheckUtils]: 30: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 15:42:27,637 INFO L272 TraceCheckUtils]: 29: Hoare triple {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9667#true} is VALID [2022-04-15 15:42:27,637 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {9667#true} {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} #87#return; {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} is VALID [2022-04-15 15:42:27,637 INFO L290 TraceCheckUtils]: 27: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 15:42:27,637 INFO L290 TraceCheckUtils]: 26: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 15:42:27,637 INFO L290 TraceCheckUtils]: 25: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 15:42:27,637 INFO L272 TraceCheckUtils]: 24: Hoare triple {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 15:42:27,637 INFO L290 TraceCheckUtils]: 23: Hoare triple {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} assume !false; {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} is VALID [2022-04-15 15:42:27,638 INFO L290 TraceCheckUtils]: 22: Hoare triple {9704#(<= (mod main_~A~0 4294967296) 2)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} is VALID [2022-04-15 15:42:27,639 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9667#true} {9704#(<= (mod main_~A~0 4294967296) 2)} #85#return; {9704#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-15 15:42:27,639 INFO L290 TraceCheckUtils]: 20: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 15:42:27,639 INFO L290 TraceCheckUtils]: 19: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 15:42:27,639 INFO L290 TraceCheckUtils]: 18: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 15:42:27,639 INFO L272 TraceCheckUtils]: 17: Hoare triple {9704#(<= (mod main_~A~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {9667#true} is VALID [2022-04-15 15:42:27,639 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9667#true} {9704#(<= (mod main_~A~0 4294967296) 2)} #83#return; {9704#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-15 15:42:27,639 INFO L290 TraceCheckUtils]: 15: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 15:42:27,639 INFO L290 TraceCheckUtils]: 14: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 15:42:27,640 INFO L290 TraceCheckUtils]: 13: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 15:42:27,640 INFO L272 TraceCheckUtils]: 12: Hoare triple {9704#(<= (mod main_~A~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {9667#true} is VALID [2022-04-15 15:42:27,640 INFO L290 TraceCheckUtils]: 11: Hoare triple {9704#(<= (mod main_~A~0 4294967296) 2)} ~B~0 := #t~nondet5;havoc #t~nondet5; {9704#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-15 15:42:27,640 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9697#(not (= |assume_abort_if_not_#in~cond| 0))} {9667#true} #81#return; {9704#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-15 15:42:27,640 INFO L290 TraceCheckUtils]: 9: Hoare triple {9697#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {9697#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:42:27,641 INFO L290 TraceCheckUtils]: 8: Hoare triple {10292#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {9697#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:42:27,641 INFO L290 TraceCheckUtils]: 7: Hoare triple {9667#true} ~cond := #in~cond; {10292#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 15:42:27,641 INFO L272 TraceCheckUtils]: 6: Hoare triple {9667#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {9667#true} is VALID [2022-04-15 15:42:27,641 INFO L290 TraceCheckUtils]: 5: Hoare triple {9667#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {9667#true} is VALID [2022-04-15 15:42:27,641 INFO L272 TraceCheckUtils]: 4: Hoare triple {9667#true} call #t~ret6 := main(); {9667#true} is VALID [2022-04-15 15:42:27,641 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9667#true} {9667#true} #101#return; {9667#true} is VALID [2022-04-15 15:42:27,641 INFO L290 TraceCheckUtils]: 2: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 15:42:27,642 INFO L290 TraceCheckUtils]: 1: Hoare triple {9667#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(10, 2);call #Ultimate.allocInit(12, 3); {9667#true} is VALID [2022-04-15 15:42:27,642 INFO L272 TraceCheckUtils]: 0: Hoare triple {9667#true} call ULTIMATE.init(); {9667#true} is VALID [2022-04-15 15:42:27,642 INFO L134 CoverageAnalysis]: Checked inductivity of 374 backedges. 30 proven. 26 refuted. 0 times theorem prover too weak. 318 trivial. 0 not checked. [2022-04-15 15:42:27,642 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:42:27,642 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1644614308] [2022-04-15 15:42:27,642 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:42:27,642 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2075182552] [2022-04-15 15:42:27,642 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2075182552] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:42:27,642 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:42:27,643 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 20 [2022-04-15 15:42:27,643 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:42:27,643 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1045656949] [2022-04-15 15:42:27,643 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1045656949] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:42:27,643 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:42:27,643 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-15 15:42:27,643 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1706782729] [2022-04-15 15:42:27,643 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:42:27,643 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.5) internal successors, (30), 12 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) Word has length 105 [2022-04-15 15:42:27,644 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:42:27,644 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.5) internal successors, (30), 12 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-15 15:42:27,710 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:42:27,710 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-15 15:42:27,711 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:42:27,711 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-15 15:42:27,711 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=83, Invalid=297, Unknown=0, NotChecked=0, Total=380 [2022-04-15 15:42:27,711 INFO L87 Difference]: Start difference. First operand 129 states and 151 transitions. Second operand has 12 states, 12 states have (on average 2.5) internal successors, (30), 12 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-15 15:42:32,117 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:42:32,117 INFO L93 Difference]: Finished difference Result 176 states and 217 transitions. [2022-04-15 15:42:32,117 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 15:42:32,117 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.5) internal successors, (30), 12 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) Word has length 105 [2022-04-15 15:42:32,117 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:42:32,117 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.5) internal successors, (30), 12 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-15 15:42:32,119 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 112 transitions. [2022-04-15 15:42:32,119 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.5) internal successors, (30), 12 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-15 15:42:32,120 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 112 transitions. [2022-04-15 15:42:32,120 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 112 transitions. [2022-04-15 15:42:32,263 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:42:32,266 INFO L225 Difference]: With dead ends: 176 [2022-04-15 15:42:32,266 INFO L226 Difference]: Without dead ends: 148 [2022-04-15 15:42:32,266 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 217 GetRequests, 190 SyntacticMatches, 1 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 113 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=165, Invalid=591, Unknown=0, NotChecked=0, Total=756 [2022-04-15 15:42:32,267 INFO L913 BasicCegarLoop]: 68 mSDtfsCounter, 34 mSDsluCounter, 204 mSDsCounter, 0 mSdLazyCounter, 262 mSolverCounterSat, 44 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 272 SdHoareTripleChecker+Invalid, 306 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 44 IncrementalHoareTripleChecker+Valid, 262 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.7s IncrementalHoareTripleChecker+Time [2022-04-15 15:42:32,267 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [37 Valid, 272 Invalid, 306 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [44 Valid, 262 Invalid, 0 Unknown, 0 Unchecked, 1.7s Time] [2022-04-15 15:42:32,267 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 148 states. [2022-04-15 15:42:32,580 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 148 to 142. [2022-04-15 15:42:32,580 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:42:32,581 INFO L82 GeneralOperation]: Start isEquivalent. First operand 148 states. Second operand has 142 states, 85 states have (on average 1.1176470588235294) internal successors, (95), 89 states have internal predecessors, (95), 40 states have call successors, (40), 17 states have call predecessors, (40), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 15:42:32,581 INFO L74 IsIncluded]: Start isIncluded. First operand 148 states. Second operand has 142 states, 85 states have (on average 1.1176470588235294) internal successors, (95), 89 states have internal predecessors, (95), 40 states have call successors, (40), 17 states have call predecessors, (40), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 15:42:32,581 INFO L87 Difference]: Start difference. First operand 148 states. Second operand has 142 states, 85 states have (on average 1.1176470588235294) internal successors, (95), 89 states have internal predecessors, (95), 40 states have call successors, (40), 17 states have call predecessors, (40), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 15:42:32,584 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:42:32,584 INFO L93 Difference]: Finished difference Result 148 states and 181 transitions. [2022-04-15 15:42:32,584 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 181 transitions. [2022-04-15 15:42:32,584 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:42:32,585 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:42:32,585 INFO L74 IsIncluded]: Start isIncluded. First operand has 142 states, 85 states have (on average 1.1176470588235294) internal successors, (95), 89 states have internal predecessors, (95), 40 states have call successors, (40), 17 states have call predecessors, (40), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) Second operand 148 states. [2022-04-15 15:42:32,588 INFO L87 Difference]: Start difference. First operand has 142 states, 85 states have (on average 1.1176470588235294) internal successors, (95), 89 states have internal predecessors, (95), 40 states have call successors, (40), 17 states have call predecessors, (40), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) Second operand 148 states. [2022-04-15 15:42:32,591 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:42:32,591 INFO L93 Difference]: Finished difference Result 148 states and 181 transitions. [2022-04-15 15:42:32,591 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 181 transitions. [2022-04-15 15:42:32,592 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:42:32,592 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:42:32,592 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:42:32,592 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:42:32,592 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 142 states, 85 states have (on average 1.1176470588235294) internal successors, (95), 89 states have internal predecessors, (95), 40 states have call successors, (40), 17 states have call predecessors, (40), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 15:42:32,594 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 142 states to 142 states and 172 transitions. [2022-04-15 15:42:32,594 INFO L78 Accepts]: Start accepts. Automaton has 142 states and 172 transitions. Word has length 105 [2022-04-15 15:42:32,595 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:42:32,595 INFO L478 AbstractCegarLoop]: Abstraction has 142 states and 172 transitions. [2022-04-15 15:42:32,595 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.5) internal successors, (30), 12 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-15 15:42:32,595 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 142 states and 172 transitions. [2022-04-15 15:42:32,997 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 172 edges. 172 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:42:32,998 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 172 transitions. [2022-04-15 15:42:32,998 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 115 [2022-04-15 15:42:32,998 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:42:32,998 INFO L499 BasicCegarLoop]: trace histogram [16, 15, 15, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:42:33,015 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-15 15:42:33,199 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,SelfDestructingSolverStorable12 [2022-04-15 15:42:33,199 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:42:33,199 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:42:33,199 INFO L85 PathProgramCache]: Analyzing trace with hash -1683530195, now seen corresponding path program 11 times [2022-04-15 15:42:33,199 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:42:33,200 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [158456535] [2022-04-15 15:42:33,200 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:42:33,200 INFO L85 PathProgramCache]: Analyzing trace with hash -1683530195, now seen corresponding path program 12 times [2022-04-15 15:42:33,200 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:42:33,200 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1070821] [2022-04-15 15:42:33,200 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:42:33,200 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:42:33,227 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:42:33,227 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2116933130] [2022-04-15 15:42:33,227 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 15:42:33,227 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:42:33,227 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:42:33,228 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-15 15:42:33,229 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-15 15:42:33,297 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 15:42:33,297 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:42:33,298 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-15 15:42:33,318 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:42:33,320 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:42:44,567 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 15:43:20,312 INFO L272 TraceCheckUtils]: 0: Hoare triple {11264#true} call ULTIMATE.init(); {11264#true} is VALID [2022-04-15 15:43:20,312 INFO L290 TraceCheckUtils]: 1: Hoare triple {11264#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(10, 2);call #Ultimate.allocInit(12, 3); {11264#true} is VALID [2022-04-15 15:43:20,312 INFO L290 TraceCheckUtils]: 2: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 15:43:20,312 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11264#true} {11264#true} #101#return; {11264#true} is VALID [2022-04-15 15:43:20,312 INFO L272 TraceCheckUtils]: 4: Hoare triple {11264#true} call #t~ret6 := main(); {11264#true} is VALID [2022-04-15 15:43:20,312 INFO L290 TraceCheckUtils]: 5: Hoare triple {11264#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {11264#true} is VALID [2022-04-15 15:43:20,312 INFO L272 TraceCheckUtils]: 6: Hoare triple {11264#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:43:20,312 INFO L290 TraceCheckUtils]: 7: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 15:43:20,312 INFO L290 TraceCheckUtils]: 8: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 15:43:20,312 INFO L290 TraceCheckUtils]: 9: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 15:43:20,313 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11264#true} {11264#true} #81#return; {11264#true} is VALID [2022-04-15 15:43:20,313 INFO L290 TraceCheckUtils]: 11: Hoare triple {11264#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {11264#true} is VALID [2022-04-15 15:43:20,313 INFO L272 TraceCheckUtils]: 12: Hoare triple {11264#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:43:20,313 INFO L290 TraceCheckUtils]: 13: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 15:43:20,313 INFO L290 TraceCheckUtils]: 14: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 15:43:20,313 INFO L290 TraceCheckUtils]: 15: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 15:43:20,313 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11264#true} {11264#true} #83#return; {11264#true} is VALID [2022-04-15 15:43:20,313 INFO L272 TraceCheckUtils]: 17: Hoare triple {11264#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:43:20,313 INFO L290 TraceCheckUtils]: 18: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 15:43:20,313 INFO L290 TraceCheckUtils]: 19: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 15:43:20,313 INFO L290 TraceCheckUtils]: 20: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 15:43:20,313 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11264#true} {11264#true} #85#return; {11264#true} is VALID [2022-04-15 15:43:20,314 INFO L290 TraceCheckUtils]: 22: Hoare triple {11264#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:43:20,314 INFO L290 TraceCheckUtils]: 23: Hoare triple {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:43:20,314 INFO L272 TraceCheckUtils]: 24: Hoare triple {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:43:20,314 INFO L290 TraceCheckUtils]: 25: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 15:43:20,314 INFO L290 TraceCheckUtils]: 26: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 15:43:20,314 INFO L290 TraceCheckUtils]: 27: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 15:43:20,315 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11264#true} {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:43:20,315 INFO L272 TraceCheckUtils]: 29: Hoare triple {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:43:20,315 INFO L290 TraceCheckUtils]: 30: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 15:43:20,315 INFO L290 TraceCheckUtils]: 31: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 15:43:20,315 INFO L290 TraceCheckUtils]: 32: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 15:43:20,316 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11264#true} {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:43:20,316 INFO L272 TraceCheckUtils]: 34: Hoare triple {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:43:20,316 INFO L290 TraceCheckUtils]: 35: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 15:43:20,316 INFO L290 TraceCheckUtils]: 36: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 15:43:20,316 INFO L290 TraceCheckUtils]: 37: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 15:43:20,316 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {11264#true} {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:43:20,317 INFO L290 TraceCheckUtils]: 39: Hoare triple {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:43:20,317 INFO L290 TraceCheckUtils]: 40: Hoare triple {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:43:20,317 INFO L272 TraceCheckUtils]: 41: Hoare triple {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:43:20,317 INFO L290 TraceCheckUtils]: 42: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 15:43:20,317 INFO L290 TraceCheckUtils]: 43: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 15:43:20,317 INFO L290 TraceCheckUtils]: 44: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 15:43:20,318 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11264#true} {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:43:20,318 INFO L272 TraceCheckUtils]: 46: Hoare triple {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:43:20,318 INFO L290 TraceCheckUtils]: 47: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 15:43:20,318 INFO L290 TraceCheckUtils]: 48: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 15:43:20,318 INFO L290 TraceCheckUtils]: 49: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 15:43:20,318 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {11264#true} {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:43:20,319 INFO L272 TraceCheckUtils]: 51: Hoare triple {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:43:20,319 INFO L290 TraceCheckUtils]: 52: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 15:43:20,319 INFO L290 TraceCheckUtils]: 53: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 15:43:20,319 INFO L290 TraceCheckUtils]: 54: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 15:43:20,319 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {11264#true} {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:43:20,320 INFO L290 TraceCheckUtils]: 56: Hoare triple {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:43:20,321 INFO L290 TraceCheckUtils]: 57: Hoare triple {11438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {11438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:43:20,321 INFO L272 TraceCheckUtils]: 58: Hoare triple {11438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:43:20,321 INFO L290 TraceCheckUtils]: 59: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 15:43:20,321 INFO L290 TraceCheckUtils]: 60: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 15:43:20,321 INFO L290 TraceCheckUtils]: 61: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 15:43:20,321 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {11264#true} {11438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #87#return; {11438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:43:20,322 INFO L272 TraceCheckUtils]: 63: Hoare triple {11438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:43:20,322 INFO L290 TraceCheckUtils]: 64: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 15:43:20,322 INFO L290 TraceCheckUtils]: 65: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 15:43:20,322 INFO L290 TraceCheckUtils]: 66: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 15:43:20,322 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {11264#true} {11438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #89#return; {11438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:43:20,322 INFO L272 TraceCheckUtils]: 68: Hoare triple {11438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:43:20,323 INFO L290 TraceCheckUtils]: 69: Hoare triple {11264#true} ~cond := #in~cond; {11478#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:43:20,323 INFO L290 TraceCheckUtils]: 70: Hoare triple {11478#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:43:20,323 INFO L290 TraceCheckUtils]: 71: Hoare triple {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:43:20,324 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} {11438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #91#return; {11489#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:43:20,327 INFO L290 TraceCheckUtils]: 73: Hoare triple {11489#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} is VALID [2022-04-15 15:43:20,327 INFO L290 TraceCheckUtils]: 74: Hoare triple {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} assume !false; {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} is VALID [2022-04-15 15:43:20,327 INFO L272 TraceCheckUtils]: 75: Hoare triple {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:43:20,327 INFO L290 TraceCheckUtils]: 76: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 15:43:20,327 INFO L290 TraceCheckUtils]: 77: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 15:43:20,328 INFO L290 TraceCheckUtils]: 78: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 15:43:20,328 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {11264#true} {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} #87#return; {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} is VALID [2022-04-15 15:43:20,328 INFO L272 TraceCheckUtils]: 80: Hoare triple {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:43:20,328 INFO L290 TraceCheckUtils]: 81: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 15:43:20,328 INFO L290 TraceCheckUtils]: 82: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 15:43:20,328 INFO L290 TraceCheckUtils]: 83: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 15:43:20,329 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {11264#true} {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} #89#return; {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} is VALID [2022-04-15 15:43:20,329 INFO L272 TraceCheckUtils]: 85: Hoare triple {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:43:20,329 INFO L290 TraceCheckUtils]: 86: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 15:43:20,329 INFO L290 TraceCheckUtils]: 87: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 15:43:20,329 INFO L290 TraceCheckUtils]: 88: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 15:43:20,330 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {11264#true} {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} #91#return; {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} is VALID [2022-04-15 15:43:20,330 INFO L290 TraceCheckUtils]: 90: Hoare triple {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} assume !(~r~0 >= ~d~0); {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} is VALID [2022-04-15 15:43:20,331 INFO L290 TraceCheckUtils]: 91: Hoare triple {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} assume !false; {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} is VALID [2022-04-15 15:43:20,331 INFO L272 TraceCheckUtils]: 92: Hoare triple {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:43:20,331 INFO L290 TraceCheckUtils]: 93: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 15:43:20,331 INFO L290 TraceCheckUtils]: 94: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 15:43:20,331 INFO L290 TraceCheckUtils]: 95: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 15:43:20,331 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {11264#true} {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} #93#return; {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} is VALID [2022-04-15 15:43:20,331 INFO L272 TraceCheckUtils]: 97: Hoare triple {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:43:20,332 INFO L290 TraceCheckUtils]: 98: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 15:43:20,332 INFO L290 TraceCheckUtils]: 99: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 15:43:20,332 INFO L290 TraceCheckUtils]: 100: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 15:43:20,332 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {11264#true} {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} #95#return; {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} is VALID [2022-04-15 15:43:22,336 WARN L290 TraceCheckUtils]: 102: Hoare triple {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {11581#(and (= (mod main_~A~0 4294967296) main_~r~0) (or (and (= (mod (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) 0) (< (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296))) (+ (* main_~p~0 2) 2)) (not (= (mod main_~B~0 4294967296) 0)) (<= (* main_~p~0 2) (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)))) (= (mod main_~d~0 2) 0)) (and (< (div (* (- 2) main_~p~0) (- 4)) (+ (div (+ (* main_~p~0 2) 1) 4) 1)) (= (mod main_~B~0 4294967296) 0) (= (mod main_~d~0 2) 0) (= (div (- main_~d~0) (- 2)) 0))) (= main_~q~0 0))} is UNKNOWN [2022-04-15 15:43:22,339 INFO L290 TraceCheckUtils]: 103: Hoare triple {11581#(and (= (mod main_~A~0 4294967296) main_~r~0) (or (and (= (mod (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) 0) (< (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296))) (+ (* main_~p~0 2) 2)) (not (= (mod main_~B~0 4294967296) 0)) (<= (* main_~p~0 2) (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)))) (= (mod main_~d~0 2) 0)) (and (< (div (* (- 2) main_~p~0) (- 4)) (+ (div (+ (* main_~p~0 2) 1) 4) 1)) (= (mod main_~B~0 4294967296) 0) (= (mod main_~d~0 2) 0) (= (div (- main_~d~0) (- 2)) 0))) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {11585#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (or (and (= (mod (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) 0) (< (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296))) (+ (* main_~p~0 2) 2)) (not (= (mod main_~B~0 4294967296) 0)) (<= (* main_~p~0 2) (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)))) (= (mod main_~d~0 2) 0)) (and (< (div (* (- 2) main_~p~0) (- 4)) (+ (div (+ (* main_~p~0 2) 1) 4) 1)) (= (mod main_~B~0 4294967296) 0) (= (mod main_~d~0 2) 0) (= (div (- main_~d~0) (- 2)) 0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} is VALID [2022-04-15 15:43:22,341 INFO L290 TraceCheckUtils]: 104: Hoare triple {11585#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (or (and (= (mod (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) 0) (< (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296))) (+ (* main_~p~0 2) 2)) (not (= (mod main_~B~0 4294967296) 0)) (<= (* main_~p~0 2) (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)))) (= (mod main_~d~0 2) 0)) (and (< (div (* (- 2) main_~p~0) (- 4)) (+ (div (+ (* main_~p~0 2) 1) 4) 1)) (= (mod main_~B~0 4294967296) 0) (= (mod main_~d~0 2) 0) (= (div (- main_~d~0) (- 2)) 0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} assume !false; {11585#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (or (and (= (mod (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) 0) (< (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296))) (+ (* main_~p~0 2) 2)) (not (= (mod main_~B~0 4294967296) 0)) (<= (* main_~p~0 2) (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)))) (= (mod main_~d~0 2) 0)) (and (< (div (* (- 2) main_~p~0) (- 4)) (+ (div (+ (* main_~p~0 2) 1) 4) 1)) (= (mod main_~B~0 4294967296) 0) (= (mod main_~d~0 2) 0) (= (div (- main_~d~0) (- 2)) 0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} is VALID [2022-04-15 15:43:22,341 INFO L272 TraceCheckUtils]: 105: Hoare triple {11585#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (or (and (= (mod (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) 0) (< (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296))) (+ (* main_~p~0 2) 2)) (not (= (mod main_~B~0 4294967296) 0)) (<= (* main_~p~0 2) (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)))) (= (mod main_~d~0 2) 0)) (and (< (div (* (- 2) main_~p~0) (- 4)) (+ (div (+ (* main_~p~0 2) 1) 4) 1)) (= (mod main_~B~0 4294967296) 0) (= (mod main_~d~0 2) 0) (= (div (- main_~d~0) (- 2)) 0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:43:22,341 INFO L290 TraceCheckUtils]: 106: Hoare triple {11264#true} ~cond := #in~cond; {11478#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:43:22,342 INFO L290 TraceCheckUtils]: 107: Hoare triple {11478#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:43:22,342 INFO L290 TraceCheckUtils]: 108: Hoare triple {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:43:22,343 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} {11585#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (or (and (= (mod (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) 0) (< (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296))) (+ (* main_~p~0 2) 2)) (not (= (mod main_~B~0 4294967296) 0)) (<= (* main_~p~0 2) (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)))) (= (mod main_~d~0 2) 0)) (and (< (div (* (- 2) main_~p~0) (- 4)) (+ (div (+ (* main_~p~0 2) 1) 4) 1)) (= (mod main_~B~0 4294967296) 0) (= (mod main_~d~0 2) 0) (= (div (- main_~d~0) (- 2)) 0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} #93#return; {11604#(or (and (= (mod (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) 0) (< (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296))) (+ (* main_~p~0 2) 2)) (not (= (mod main_~B~0 4294967296) 0)) (<= (* main_~p~0 2) (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)))) (= (mod main_~d~0 2) 0)) (and (< (div (* (- 2) main_~p~0) (- 4)) (+ (div (+ (* main_~p~0 2) 1) 4) 1)) (= (mod main_~B~0 4294967296) 0) (= (mod main_~d~0 2) 0) (= (div (- main_~d~0) (- 2)) 0)))} is VALID [2022-04-15 15:43:22,693 INFO L272 TraceCheckUtils]: 110: Hoare triple {11604#(or (and (= (mod (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) 0) (< (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296))) (+ (* main_~p~0 2) 2)) (not (= (mod main_~B~0 4294967296) 0)) (<= (* main_~p~0 2) (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)))) (= (mod main_~d~0 2) 0)) (and (< (div (* (- 2) main_~p~0) (- 4)) (+ (div (+ (* main_~p~0 2) 1) 4) 1)) (= (mod main_~B~0 4294967296) 0) (= (mod main_~d~0 2) 0) (= (div (- main_~d~0) (- 2)) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11608#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:43:22,693 INFO L290 TraceCheckUtils]: 111: Hoare triple {11608#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11612#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:43:22,694 INFO L290 TraceCheckUtils]: 112: Hoare triple {11612#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11265#false} is VALID [2022-04-15 15:43:22,694 INFO L290 TraceCheckUtils]: 113: Hoare triple {11265#false} assume !false; {11265#false} is VALID [2022-04-15 15:43:22,694 INFO L134 CoverageAnalysis]: Checked inductivity of 495 backedges. 116 proven. 20 refuted. 0 times theorem prover too weak. 359 trivial. 0 not checked. [2022-04-15 15:43:22,694 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:44:45,153 INFO L290 TraceCheckUtils]: 113: Hoare triple {11265#false} assume !false; {11265#false} is VALID [2022-04-15 15:44:45,154 INFO L290 TraceCheckUtils]: 112: Hoare triple {11612#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11265#false} is VALID [2022-04-15 15:44:45,154 INFO L290 TraceCheckUtils]: 111: Hoare triple {11608#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11612#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:44:45,155 INFO L272 TraceCheckUtils]: 110: Hoare triple {11628#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11608#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:44:45,155 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} {11632#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} #93#return; {11628#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:44:45,156 INFO L290 TraceCheckUtils]: 108: Hoare triple {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:44:45,156 INFO L290 TraceCheckUtils]: 107: Hoare triple {11642#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:44:45,156 INFO L290 TraceCheckUtils]: 106: Hoare triple {11264#true} ~cond := #in~cond; {11642#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:44:45,156 INFO L272 TraceCheckUtils]: 105: Hoare triple {11632#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:44:45,157 INFO L290 TraceCheckUtils]: 104: Hoare triple {11632#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} assume !false; {11632#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-15 15:44:45,161 INFO L290 TraceCheckUtils]: 103: Hoare triple {11652#(or (not (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {11632#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-15 15:44:45,170 INFO L290 TraceCheckUtils]: 102: Hoare triple {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {11652#(or (not (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-15 15:44:45,171 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {11264#true} {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} #95#return; {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-15 15:44:45,171 INFO L290 TraceCheckUtils]: 100: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 15:44:45,171 INFO L290 TraceCheckUtils]: 99: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 15:44:45,171 INFO L290 TraceCheckUtils]: 98: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 15:44:45,171 INFO L272 TraceCheckUtils]: 97: Hoare triple {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:44:45,172 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {11264#true} {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} #93#return; {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-15 15:44:45,172 INFO L290 TraceCheckUtils]: 95: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 15:44:45,172 INFO L290 TraceCheckUtils]: 94: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 15:44:45,172 INFO L290 TraceCheckUtils]: 93: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 15:44:45,172 INFO L272 TraceCheckUtils]: 92: Hoare triple {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:44:45,173 INFO L290 TraceCheckUtils]: 91: Hoare triple {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} assume !false; {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-15 15:44:45,175 INFO L290 TraceCheckUtils]: 90: Hoare triple {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} assume !(~r~0 >= ~d~0); {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-15 15:44:45,175 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {11264#true} {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} #91#return; {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-15 15:44:45,175 INFO L290 TraceCheckUtils]: 88: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 15:44:45,175 INFO L290 TraceCheckUtils]: 87: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 15:44:45,175 INFO L290 TraceCheckUtils]: 86: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 15:44:45,176 INFO L272 TraceCheckUtils]: 85: Hoare triple {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:44:45,176 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {11264#true} {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} #89#return; {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-15 15:44:45,176 INFO L290 TraceCheckUtils]: 83: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 15:44:45,176 INFO L290 TraceCheckUtils]: 82: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 15:44:45,176 INFO L290 TraceCheckUtils]: 81: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 15:44:45,176 INFO L272 TraceCheckUtils]: 80: Hoare triple {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:44:45,177 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {11264#true} {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} #87#return; {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-15 15:44:45,177 INFO L290 TraceCheckUtils]: 78: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 15:44:45,177 INFO L290 TraceCheckUtils]: 77: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 15:44:45,177 INFO L290 TraceCheckUtils]: 76: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 15:44:45,177 INFO L272 TraceCheckUtils]: 75: Hoare triple {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:44:45,178 INFO L290 TraceCheckUtils]: 74: Hoare triple {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} assume !false; {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-15 15:44:45,184 INFO L290 TraceCheckUtils]: 73: Hoare triple {11652#(or (not (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-15 15:44:45,185 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} {11264#true} #91#return; {11652#(or (not (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-15 15:44:45,185 INFO L290 TraceCheckUtils]: 71: Hoare triple {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:44:45,185 INFO L290 TraceCheckUtils]: 70: Hoare triple {11642#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:44:45,186 INFO L290 TraceCheckUtils]: 69: Hoare triple {11264#true} ~cond := #in~cond; {11642#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:44:45,186 INFO L272 TraceCheckUtils]: 68: Hoare triple {11264#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:44:45,186 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {11264#true} {11264#true} #89#return; {11264#true} is VALID [2022-04-15 15:44:45,186 INFO L290 TraceCheckUtils]: 66: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 15:44:45,186 INFO L290 TraceCheckUtils]: 65: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 15:44:45,186 INFO L290 TraceCheckUtils]: 64: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 15:44:45,186 INFO L272 TraceCheckUtils]: 63: Hoare triple {11264#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:44:45,186 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {11264#true} {11264#true} #87#return; {11264#true} is VALID [2022-04-15 15:44:45,186 INFO L290 TraceCheckUtils]: 61: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 15:44:45,186 INFO L290 TraceCheckUtils]: 60: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 15:44:45,186 INFO L290 TraceCheckUtils]: 59: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 15:44:45,186 INFO L272 TraceCheckUtils]: 58: Hoare triple {11264#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:44:45,186 INFO L290 TraceCheckUtils]: 57: Hoare triple {11264#true} assume !false; {11264#true} is VALID [2022-04-15 15:44:45,186 INFO L290 TraceCheckUtils]: 56: Hoare triple {11264#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11264#true} is VALID [2022-04-15 15:44:45,187 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {11264#true} {11264#true} #91#return; {11264#true} is VALID [2022-04-15 15:44:45,187 INFO L290 TraceCheckUtils]: 54: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 15:44:45,187 INFO L290 TraceCheckUtils]: 53: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 15:44:45,187 INFO L290 TraceCheckUtils]: 52: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 15:44:45,187 INFO L272 TraceCheckUtils]: 51: Hoare triple {11264#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:44:45,187 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {11264#true} {11264#true} #89#return; {11264#true} is VALID [2022-04-15 15:44:45,187 INFO L290 TraceCheckUtils]: 49: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 15:44:45,187 INFO L290 TraceCheckUtils]: 48: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 15:44:45,187 INFO L290 TraceCheckUtils]: 47: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 15:44:45,187 INFO L272 TraceCheckUtils]: 46: Hoare triple {11264#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:44:45,187 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11264#true} {11264#true} #87#return; {11264#true} is VALID [2022-04-15 15:44:45,187 INFO L290 TraceCheckUtils]: 44: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 15:44:45,187 INFO L290 TraceCheckUtils]: 43: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 15:44:45,187 INFO L290 TraceCheckUtils]: 42: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 15:44:45,188 INFO L272 TraceCheckUtils]: 41: Hoare triple {11264#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:44:45,188 INFO L290 TraceCheckUtils]: 40: Hoare triple {11264#true} assume !false; {11264#true} is VALID [2022-04-15 15:44:45,188 INFO L290 TraceCheckUtils]: 39: Hoare triple {11264#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11264#true} is VALID [2022-04-15 15:44:45,188 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {11264#true} {11264#true} #91#return; {11264#true} is VALID [2022-04-15 15:44:45,188 INFO L290 TraceCheckUtils]: 37: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 15:44:45,188 INFO L290 TraceCheckUtils]: 36: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 15:44:45,188 INFO L290 TraceCheckUtils]: 35: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 15:44:45,188 INFO L272 TraceCheckUtils]: 34: Hoare triple {11264#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:44:45,188 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11264#true} {11264#true} #89#return; {11264#true} is VALID [2022-04-15 15:44:45,188 INFO L290 TraceCheckUtils]: 32: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 15:44:45,188 INFO L290 TraceCheckUtils]: 31: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 15:44:45,188 INFO L290 TraceCheckUtils]: 30: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 15:44:45,188 INFO L272 TraceCheckUtils]: 29: Hoare triple {11264#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:44:45,188 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11264#true} {11264#true} #87#return; {11264#true} is VALID [2022-04-15 15:44:45,188 INFO L290 TraceCheckUtils]: 27: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 15:44:45,189 INFO L290 TraceCheckUtils]: 26: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 15:44:45,189 INFO L290 TraceCheckUtils]: 25: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 15:44:45,189 INFO L272 TraceCheckUtils]: 24: Hoare triple {11264#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:44:45,189 INFO L290 TraceCheckUtils]: 23: Hoare triple {11264#true} assume !false; {11264#true} is VALID [2022-04-15 15:44:45,189 INFO L290 TraceCheckUtils]: 22: Hoare triple {11264#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {11264#true} is VALID [2022-04-15 15:44:45,189 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11264#true} {11264#true} #85#return; {11264#true} is VALID [2022-04-15 15:44:45,189 INFO L290 TraceCheckUtils]: 20: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 15:44:45,189 INFO L290 TraceCheckUtils]: 19: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 15:44:45,189 INFO L290 TraceCheckUtils]: 18: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 15:44:45,189 INFO L272 TraceCheckUtils]: 17: Hoare triple {11264#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:44:45,189 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11264#true} {11264#true} #83#return; {11264#true} is VALID [2022-04-15 15:44:45,189 INFO L290 TraceCheckUtils]: 15: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 15:44:45,189 INFO L290 TraceCheckUtils]: 14: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 15:44:45,189 INFO L290 TraceCheckUtils]: 13: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 15:44:45,190 INFO L272 TraceCheckUtils]: 12: Hoare triple {11264#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:44:45,190 INFO L290 TraceCheckUtils]: 11: Hoare triple {11264#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {11264#true} is VALID [2022-04-15 15:44:45,190 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11264#true} {11264#true} #81#return; {11264#true} is VALID [2022-04-15 15:44:45,190 INFO L290 TraceCheckUtils]: 9: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 15:44:45,190 INFO L290 TraceCheckUtils]: 8: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 15:44:45,190 INFO L290 TraceCheckUtils]: 7: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 15:44:45,190 INFO L272 TraceCheckUtils]: 6: Hoare triple {11264#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {11264#true} is VALID [2022-04-15 15:44:45,190 INFO L290 TraceCheckUtils]: 5: Hoare triple {11264#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {11264#true} is VALID [2022-04-15 15:44:45,190 INFO L272 TraceCheckUtils]: 4: Hoare triple {11264#true} call #t~ret6 := main(); {11264#true} is VALID [2022-04-15 15:44:45,190 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11264#true} {11264#true} #101#return; {11264#true} is VALID [2022-04-15 15:44:45,190 INFO L290 TraceCheckUtils]: 2: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 15:44:45,190 INFO L290 TraceCheckUtils]: 1: Hoare triple {11264#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(10, 2);call #Ultimate.allocInit(12, 3); {11264#true} is VALID [2022-04-15 15:44:45,190 INFO L272 TraceCheckUtils]: 0: Hoare triple {11264#true} call ULTIMATE.init(); {11264#true} is VALID [2022-04-15 15:44:45,191 INFO L134 CoverageAnalysis]: Checked inductivity of 495 backedges. 107 proven. 21 refuted. 0 times theorem prover too weak. 367 trivial. 0 not checked. [2022-04-15 15:44:45,191 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:44:45,191 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1070821] [2022-04-15 15:44:45,191 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:44:45,191 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2116933130] [2022-04-15 15:44:45,191 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2116933130] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:44:45,191 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:44:45,191 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-15 15:44:45,192 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:44:45,192 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [158456535] [2022-04-15 15:44:45,192 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [158456535] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:44:45,192 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:44:45,192 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 15:44:45,192 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1485396984] [2022-04-15 15:44:45,192 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:44:45,192 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 5 states have call successors, (16) Word has length 114 [2022-04-15 15:44:45,193 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:44:45,193 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-15 15:44:47,397 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 61 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 15:44:47,397 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 15:44:47,397 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:44:47,397 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 15:44:47,397 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=228, Unknown=4, NotChecked=0, Total=306 [2022-04-15 15:44:47,398 INFO L87 Difference]: Start difference. First operand 142 states and 172 transitions. Second operand has 13 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-15 15:44:50,302 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-15 15:44:52,336 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-15 15:44:54,352 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-15 15:44:56,378 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-15 15:44:58,389 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-15 15:45:00,402 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-15 15:45:02,459 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-15 15:45:04,503 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-15 15:45:06,565 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-15 15:45:08,630 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 15:45:10,720 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-15 15:45:12,752 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-15 15:45:14,771 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-15 15:45:16,787 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-15 15:45:18,883 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-15 15:45:21,089 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-15 15:45:23,105 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-15 15:45:25,116 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-15 15:45:27,166 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-15 15:45:29,192 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-15 15:45:31,253 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-15 15:45:33,290 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-15 15:45:35,305 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-15 15:45:37,489 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.13s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 15:45:39,491 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-15 15:45:43,572 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.42s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 15:45:44,717 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-15 15:45:47,332 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:45:47,332 INFO L93 Difference]: Finished difference Result 161 states and 188 transitions. [2022-04-15 15:45:47,332 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 15:45:47,333 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 5 states have call successors, (16) Word has length 114 [2022-04-15 15:45:47,333 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:45:47,333 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-15 15:45:47,334 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 85 transitions. [2022-04-15 15:45:47,334 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-15 15:45:47,335 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 85 transitions. [2022-04-15 15:45:47,335 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 85 transitions. [2022-04-15 15:45:50,575 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 84 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 15:45:50,577 INFO L225 Difference]: With dead ends: 161 [2022-04-15 15:45:50,577 INFO L226 Difference]: Without dead ends: 149 [2022-04-15 15:45:50,577 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 229 GetRequests, 209 SyntacticMatches, 2 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 93 ImplicationChecksByTransitivity, 17.3s TimeCoverageRelationStatistics Valid=87, Invalid=289, Unknown=4, NotChecked=0, Total=380 [2022-04-15 15:45:50,578 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 16 mSDsluCounter, 133 mSDsCounter, 0 mSdLazyCounter, 240 mSolverCounterSat, 23 mSolverCounterUnsat, 24 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 54.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 174 SdHoareTripleChecker+Invalid, 287 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 240 IncrementalHoareTripleChecker+Invalid, 24 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 55.0s IncrementalHoareTripleChecker+Time [2022-04-15 15:45:50,578 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 174 Invalid, 287 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 240 Invalid, 24 Unknown, 0 Unchecked, 55.0s Time] [2022-04-15 15:45:50,578 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 149 states. [2022-04-15 15:45:50,866 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 149 to 149. [2022-04-15 15:45:50,866 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:45:50,866 INFO L82 GeneralOperation]: Start isEquivalent. First operand 149 states. Second operand has 149 states, 91 states have (on average 1.098901098901099) internal successors, (100), 94 states have internal predecessors, (100), 39 states have call successors, (39), 19 states have call predecessors, (39), 18 states have return successors, (36), 35 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-15 15:45:50,866 INFO L74 IsIncluded]: Start isIncluded. First operand 149 states. Second operand has 149 states, 91 states have (on average 1.098901098901099) internal successors, (100), 94 states have internal predecessors, (100), 39 states have call successors, (39), 19 states have call predecessors, (39), 18 states have return successors, (36), 35 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-15 15:45:50,867 INFO L87 Difference]: Start difference. First operand 149 states. Second operand has 149 states, 91 states have (on average 1.098901098901099) internal successors, (100), 94 states have internal predecessors, (100), 39 states have call successors, (39), 19 states have call predecessors, (39), 18 states have return successors, (36), 35 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-15 15:45:50,869 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:45:50,869 INFO L93 Difference]: Finished difference Result 149 states and 175 transitions. [2022-04-15 15:45:50,869 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 175 transitions. [2022-04-15 15:45:50,870 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:45:50,870 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:45:50,870 INFO L74 IsIncluded]: Start isIncluded. First operand has 149 states, 91 states have (on average 1.098901098901099) internal successors, (100), 94 states have internal predecessors, (100), 39 states have call successors, (39), 19 states have call predecessors, (39), 18 states have return successors, (36), 35 states have call predecessors, (36), 36 states have call successors, (36) Second operand 149 states. [2022-04-15 15:45:50,870 INFO L87 Difference]: Start difference. First operand has 149 states, 91 states have (on average 1.098901098901099) internal successors, (100), 94 states have internal predecessors, (100), 39 states have call successors, (39), 19 states have call predecessors, (39), 18 states have return successors, (36), 35 states have call predecessors, (36), 36 states have call successors, (36) Second operand 149 states. [2022-04-15 15:45:50,872 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:45:50,872 INFO L93 Difference]: Finished difference Result 149 states and 175 transitions. [2022-04-15 15:45:50,872 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 175 transitions. [2022-04-15 15:45:50,873 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:45:50,873 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:45:50,873 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:45:50,873 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:45:50,873 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 149 states, 91 states have (on average 1.098901098901099) internal successors, (100), 94 states have internal predecessors, (100), 39 states have call successors, (39), 19 states have call predecessors, (39), 18 states have return successors, (36), 35 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-15 15:45:50,875 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 149 states to 149 states and 175 transitions. [2022-04-15 15:45:50,875 INFO L78 Accepts]: Start accepts. Automaton has 149 states and 175 transitions. Word has length 114 [2022-04-15 15:45:50,875 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:45:50,876 INFO L478 AbstractCegarLoop]: Abstraction has 149 states and 175 transitions. [2022-04-15 15:45:50,876 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-15 15:45:50,876 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 149 states and 175 transitions. [2022-04-15 15:45:51,245 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 175 edges. 175 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:45:51,246 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 175 transitions. [2022-04-15 15:45:51,246 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 117 [2022-04-15 15:45:51,246 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:45:51,246 INFO L499 BasicCegarLoop]: trace histogram [16, 15, 15, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:45:51,263 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-15 15:45:51,447 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-15 15:45:51,447 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:45:51,447 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:45:51,447 INFO L85 PathProgramCache]: Analyzing trace with hash 1087601215, now seen corresponding path program 1 times [2022-04-15 15:45:51,447 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:45:51,447 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [279485502] [2022-04-15 15:45:51,448 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:45:51,448 INFO L85 PathProgramCache]: Analyzing trace with hash 1087601215, now seen corresponding path program 2 times [2022-04-15 15:45:51,448 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:45:51,448 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [47136551] [2022-04-15 15:45:51,448 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:45:51,448 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:45:51,457 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:45:51,457 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [672207832] [2022-04-15 15:45:51,457 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:45:51,457 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:45:51,458 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:45:51,458 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 15:45:51,462 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-15 15:45:51,512 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:45:51,512 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:45:51,513 INFO L263 TraceCheckSpWp]: Trace formula consists of 257 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-15 15:45:51,530 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:45:51,532 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:51:05,767 WARN L855 $PredicateComparison]: unable to prove that (let ((.cse0 (mod c_main_~A~0 4294967296))) (let ((.cse2 (* 2 c_main_~r~0)) (.cse1 (div .cse0 2))) (and (< (div (+ (- 1) (* (- 1) .cse0)) (- 4)) (+ .cse1 1)) (= c_main_~q~0 2) (< .cse2 (+ .cse0 1)) (= (div c_main_~q~0 2) c_main_~p~0) (<= .cse0 2) (= c_main_~d~0 (div (+ .cse0 (* (- 1) c_main_~r~0)) 2)) (<= (div (+ .cse2 (* (- 2) .cse0)) (- 4)) .cse1)))) is different from true